Yeah if you look at the Beth code, it seems these globals are not as global as the name suggests.
There's 2 Quest functions they use.
UpdateCurrentInstanceGlobal(globalProperty) - Used after modifying the global property in the script.
(I also noted that they often use the Get/SetValue methods on the Properties even though they reside in the same file)
The other is probably what you need here
ModObjectiveGlobal( lots of params ) - it's a thread safe way of updating, apparently.
Let us know if you find out any more about these 2, the wiki doesn't shed much more light other than the syntax.