"zijn blijven staan" is correct, but I think it's impossible to give a reason for it, unfortunately. Sometimes both 'zijn' and 'hebben' are possible as auxiliary verb, but the meaning is different ('zijn' often results in a passive, like in English). Sometimes there's only one option and the other just sounds wrong.
Most of the time 'hebben' is the right choice, but I'm afraid you'll just have to remember which ones use 'zijn'.
Ex.:
Ik heb gegeten = I have eaten
Ik ben gegeten (sounds odd) = I am eaten
Ik ben gegaan = I have gone
*Ik heb gegaan = WRONG