Basically its a pain the butt trying to get say3D to work on all machines if called on a client machine via an addaction or similar process. It's easy to use if called by a trigger but this is often not an ideal method.
We need an easier/simpler method of playing 3D sound with global effect like that offered by CBA i.e. [player, "sound",500] call CBA_fnc_globalSay3d;