Strange I've not seen that before and it didn't happen the first few times I ran it.
There is an easy fix though, or at least it's not happened since.
_pilot action ["engineOn", vehicle _pilot] placed after the other action command.
I made a few other changes while I was testing which you may or may not want.
I removed the first spawn from the init.
I then place the call code in the game logic init [this] exec "createC130.sqs" and then change a few lines in the script.
What happens now is that every time you create game logic and put the call code in it you get an aircraft spawned.
_planspawn = _this select 0
_dropPosX = getPos _planspawn select 0
_dropPosY = getPos _planspawn select 1
_dropPosZ = getPos _planspawn select 2
~0.1
_planespawnpos = [_dropPosX, _dropPosY, _dropPosZ + 1000]
_pilotspawnpos = [_dropPosX, _dropPosY, _dropPosZ + 1000]
;=========CREATE=======================
~0.1
_plane = "C130J_US_EP1" createvehicle _planespawnpos
_plane setpos [(getpos _plane select 0),(getpos _plane select 1),900]
_plane setDir getDir _planspawn
_group = createGroup WEST;
_pilot = _group createUnit ["US_Soldier_Pilot_EP1",getPos player, [], 0, "FLY"];
_pilot setBehaviour "CARELESS";
_pilot setRank "SERGEANT";
_pilot setskill 1;
_group selectLeader _pilot;
_dir = getDir _planspawn
_speed = 100
_plane setVelocity [(sin _dir*_speed),(cos _dir*_speed),1];
_plane allowDamage false
~0.1
_pilot assignAsDriver _plane
_pilot MoveInDriver _plane
_pilot setdamage 0
_pilot setBehaviour "CARELESS"
_pilot action ["gear_up", vehicle _pilot]
_pilot action ["engineOn", vehicle _pilot]
;player moveincargo _plane
_plane FlyInHeight 100
_plane SetSpeedMode "full"
_plane landAt 1
_n = 0;
#loop1
_n=_n+1;
_pilot setBehaviour "CARELESS"
_plane setpos [(getpos _plane select 0),(getpos _plane select 1),100]
_plane setVelocity [(sin _dir*_speed),(cos _dir*_speed),1];
~0.1
?(_n>20) : goto "exit1"
goto "loop1"
#exit1
_plane SetSpeedMode "normal"
_plane flyInHeight 20
_plane landAt 1