Why are my credits going away too fast?

I'm trying to get a part to break down while the player is in space, requiring them to pay someone to come rescue them. Because there's no obvious way to programmatically disable the player, the best I can figure out is to do the whole transaction in a single desc.

Therefore, I've got a cron which randomly fires at some point, and Sxxx's a mission when it does. This mission does nothing except cause an invisible ship to jump in; when the player observes it, the OnShipDone desc is displayed, and then the mission completes taking away some credits.

The trouble is, the credits disappear as soon as the cron fires, up to 2-3 seconds before the OnShipDone desc appears. Does anyone have any idea why this might happen? The mission has no travel destination, so the ship objective is the only part of it.

Are you saying it is possible for a mission to complete successfully when the player observes a ship? This is news to me.

Well, those credits are disappearing for some reason. For a while I was Axxx'ing the mission, but that didn't seem to make a difference.....

Instead of using the "observe ship" mission completion, why not use "destroy ship" with an invisible self-destructing ship and a deathdelay or 1 or so to trigger the money loss. If there is still a delay between money loss and the desc appearing then the problem is with dsc triggering and there's nothing you can do about it.