I had some nasty problems with parachuting in multiplayer missions as well. I made one where you perform a HALO jump from a C-130, but had a lot of problems getting the ejection from the plane to work, as well as the actual parachuting.
Here are my findings:
1. You cannot use the action ["eject",player1] command in a script to force client-controlled players to eject.
2. You cannot spawn parachutes and move AI into the parachutes. Doing so causes the AI to stop functioning after the unit has landed. They'll move a little bit, but they will no longer follow the leader, and won't take any orders.
3. You cannot setPos a player-controlled unit out of a vehicle, otherwise he will be unable to use LAW/RPG/AT launchers. I originally used setPos to get the units (player and AI) out of the C-130 so that they would free-fall until it was time to open the chute, but I found that I could no longer use a LAW launcher.
The solution:
In your script, add code that checks if the unit is a player or AI. If the unit is a player, do what you've done: spawn a parachute and move the player into the driver position.
If the unit is AI, you'll have to do the lame, but operational instantaneous-move-chopper-then-eject method. That is, place a flying friendly chopper somewhere in a remote corner of the map. When it comes time for the AI unit to open his chute, use setPos to move the chopper to the unit's position, move the unit into the chopper's cargo, then force the unit to eject. Next, move the chopper back to the remote corner. When all units are done parachuting, delete the chopper and its crew to reduce some overhead.
As a side note, in the event that you are making these units "jump" out of a vehicle at the start (instead of simply starting in mid-air free-falling), the only way I could get around problem #3 above was to delete the aircraft. Lame, but at least the jump works.