It sounds like you are running your two pieces of code in the same loop, like this:
For s.ship=Each ship If s\hull=0 FreeEntity s\ship_Handle Delete s EndIf moveentity s\ship_handle 0,0,s\speed nextIf that's the case then it needs to go like this instead::
For s.ship=Each ship If s\hull=0 FreeEntity s\ship_Handle Delete s Else moveentity s\ship_handle 0,0,s\speed EndIf nextIf that's not the problem, then it might be helpful to see a bit more code...