When you have an empty vehicle and then you move into it the pilots and the cargo, the behave strangely. I suggest you to not syncrhonize the waypoints. Just put in the pilot's condition filed of the waypoint:
(x in hel) AND (x2 in hel), etc
Where X, X2, etc put the names of the dudes who are going to board. And in hel the name of the helicopter.
Now create a GET IN waypoint for the group, and in its On Activation field put:
x assignascargo hel; x2 assignascargo hel;
And after you have put this for each soldier, put [x,x2,x3] ordergetin true
Between the [] (don'¡t know how are they called in English, sorry) put the name of each soldier.