_engstatus IS either true or false, it doesn't equal them, so try:
?(_engstatus): Goto "take off" etc.
To check if false use either !_engstatus or Not _engstatus.
You could also lose the #Prepare loop and use the @ command - the script will wait until the condition is met:
@ _engstatus
_pilot DoMove GetPos AirTar
etc.
See if that gets you off the ground!