hard to say exactly - i think it's after a pilot picks up a "phantom" object and doesn't select drop but exits the chopper with it still "picked up". then when i get in i have the drop object action and the pick up object action in my menu. so i choose drop (cos i haven't got anything and i want to be sure that i can pick up) and so i now have 2 pick ups in the menu. do this a few times over a few days in evo and you have a stack of pick ups.
also tonight i hitched a vulcan and it moved slightly on the ground but otherwise stayed put. then i flew away to see what would happen. about 1000m away all of a sudden i heard the vulcan coming and thought "ok, it's caught up" but it actually came right up into the heli (i was at 70m) and blew me up. this could have been due to the server being busy - 6 of us vs a lot of bots and quite a heated battle going on...
also in the original winch script it used a text HUD to say "winch UAZ_AGS30" whereas with your HUD you have to look at the picture, the circle and the pickup command all at the same time, but with winch you just fly up to your target press middle button and fly off knowing what you have... so tho yours is more realistic, it's hard to use in evo combat.
the winch code they used to make the name of the vehicle pop up on screen was
_cargo = _nObject;
actioncargo = _uh60 addAction [format ["Winch %1", typeOf _cargo], "scripts\winch_start.sqf",