I am not an expert either, maybe someone from overseas has deeper knowledge. In my opinion locals and globals are more or less the same, except of course for the different scope.
Their main disadvantage is that they break the data-flow concept and it is hard to track where their value changes. But still, sometimes living without, makes programs terribly un-elegant and clumsy.
As for Globals, writing a whole machine on labview as I do now calls vigorously for them, e.g. for storing configuration parameters that are used all over, but changed very seldom or just read in from ini-files. Distributing these via controls would make subvi's either look like porcupines or if combined into a cluster requires a (automatic) copy on entry to sub-vi's
of the whole trash.
Just again be careful where the value is changed.
For large data structures of course the memory allocation for every reference makes things more ugly.Yet still you could do a reference once per sub-vi and wire your way from there on.
Gabi
7.1 -- 2013
CLA