I tried the Global Variable update and found that if I update the global variable using a reference (Invoke Node, Set Control Value), then the value is available in other VIs immediately.
If I remember from other discussions here, subVIs in LabVIEW make local copies of global variables, work with the local copies and then put the value back when they are done. References change the original value in the global variable (or something like that). You might want to try references.
Rob