It depends, if you create a server instance, and then you join the server, your PC is actually hosting two games, the server and the client with you as a player. Of course, this is true if you are instantiating a dedi server. When I've experienced the effect you are describing the reason has been always an "on-the-fly" locality change. In fact, if everything were local to you, then it should work exactly as if it were directly executed from the editor, and I assume you heliroute works well tested from the editor.
You can do the following in the init.sqf, just for testing:
// Your moveinCargo here, for example
Sleep 10;
if (local helo1) then
{
handle = [helo1,[getPos landingzone],100, true] execVM "mando_heliroute_arma.sqf";
while {true} do
{
if (!local helo1) then
{
helo1 setDamage 1;
};
Sleep 5;
};
};
If the chopper gets destroyed it means the locality change is happening there.