zorro,
I think I may be misunderstanding your application. When you say that you have global variables that you are deploying in libraries, I assume that you are referring to shared variables? Also, you mentioned that you are loading the VIs for separate screens into sub-panels. However, it sounds as if you are actually calling these sub VIs and showing the front panel when this call is made. Are you using the LabVIEW sub-panel control in your main VI? If so, have you considered passing a reference to this sub-panel to your menu VI which can then load the appropriate sub VI without the global variable?
If I can assume that you are controlling the launch of your sub VIs with shared variables, then you would need to make sure you auto deploy your variables in your run-time environment. Does the program also behave incorrectly when the variable library is auto deployed?
Also, is there a reason why the calling (or loading of these VIs into the sub panel) is controlled by shared variables? Does this operation work when you launch the sub VI without using shared variables?
I apologize for the confusion. I'd like to help however I can, but I do not have a clear picture of the way your application works.