Labview uses the dataflow to chain the execution. That is, as soon as one item of data is ready is is presented to the next stage.
Global (or local) variables do not easily fit in there. A variable is always present and ready to give away it's data. It does not matter that you write to it in one vi. Another vi, that is running concurrently is not aware that the content may have changed.
Especially if you reference variables outside of loops, the value is taken just once and never updated. Be aware! If in doubt, use the tracing facilty (the light bulb) to follow the data flow.
Gabi
7.1 -- 2013
CLA