How are you activating the Midway? If you're using SF_ActivateSelf(0); then that might be your problem. It's hard to tell without knowing exactly how the mission should work (does the Midway appear right from the start? Does it autopilot with the player? etc), and I don't remember this too well, but I'll give it a try:
Instead of "SF_ActivateSelf(0)" in the Midway's main function, use this:
AI_WaitUntilActive;
Then, in the function of the navpoint you want the ship to appear in, create a "setup" variable. This variable is used to keep some events from happening over and over again, and is usually a good thing to have. In this example, it tells the game to only activate the Midway once (not sure if it was necessary in this case). Anyway, here's how your nav point function should start:
function M_NAV2;
var setup = true;
begin
while(1) do begin
if (NAV_WithinSphere(Player)) then begin
NAV_ActivateSelf;
if (setup) then begin
SF_ActivateObject(Midway,0);
setup := false;
end;
(etc...)
Notice that you're now activating the Midway only when the player is in this Nav point, and that the setup variable prevents this from happening over and over again until the player leaves this nav point. When the player moves to each new nav point, anything that was assigned to an actionsphere that is now inactive will automatically get deactivated as well. The trick is not activating things that only show up in certain navpoints with the "SF_ActivateSelf" command.
Hope that helps (but this time I'm not sure if it will
) I've not read Pedro's tutorials so maybe he already covered all of this in there, and your error might be related to a different thing altogether... but that's the only thing I could think of without actually seeing the mission's code.