Using the editor-placed radio triggers doesn't work at all well in MP anyway, so create them inside scripts (otherwise, when a radio is clicked by any player, everyone's trigger will be activated without you being able to tell who clicked). By creating different radio triggers in init.sqs (or a script called from init.sqs), based on the player's side, you can then use all 10 uniquely for each side.
Yes, ArmA only accepts the "" syntax for the onMapSingleClick command now, since {} is reserved only for use in creating code blocks/functions. You can have "s inside the string by using two double-quotes for each double-quote you want:
onMapSingleClick """mapmark"" setMarkerPos _pos";
Remember also that the variable _pos, within the onMapSingleClick, is a position, not an object, so you don't need to use getPos on it to use it as a position.
As to your original issue, however, it is actually likely that the problem was being caused by the "move marker to gamelogic position" script was "running out of steam", rather than any problems with the onMapSingleClick part of your mission. Thus, this shouldn't be an issue any more...
Edit: If you are using radio triggers to initiate map-marker movement, then it makes sense to only allow a single movement click for each time the radio trigger is used. To do this, turn off map-clicks after the player has clicked:
_trigger = createTrigger ["EmptyDetector", [0, 0, 0]];
_trigger setTriggerActivation ["BRAVO", PRESENT", true];
_trigger setTriggerStatements ["this", "onMapSingleClick """"""westMarker2"""" setMarkerPos _pos; onMapSingleClick """""""";"";", ""];
And yes, that is a ridiculous number of quotes, but you need to double them within the onMapSingleClick and again within the trigger statement.