Chris,
LabVIEW only allows one version of a VI with the same name into memory at a time. Thus, your executable is loading the executable version of global.vi into memory (first) and subsequent calls to that global from LLBs will always return the executable version of the global even though there is a different copy available within their own LLB.
As a work-around, you could separate your program and force loading in a quasi-reversed order. You would create a launcher program that first dynamically loads the global.vi from an external LLB into memory and than dynamically loads your main VI. Thus the main VI would find the external global.vi already in memory and use that one. The downside to this method is that if a name or type of a global variable changes from what the executable expects, it will break the executable. Thus, you can only add new globals and never change existing globals.
Regards,
Aaron
Edited for spell-checking
Message Edited by Aaron G on 04-22-2005 09:45 AM
LabVIEW Champion, CLA, CPI