I have not had time to study your VI yet, but it looks like an ideal candidate for a state machine architecture. Look at the examples and search for "state machine" in the archives.
The state machine architecture is versatile and robust. It is widely used for control systems such as yours.
Communicating between the independent loops is often done with queues. A main loop with an event structure handles the user interface (UI) and passes commands and data to the processing loops. In return they pass status and data messages to the UI. All without local or global variables.
Each parallel loop should have a wait function, even if set to zero milliseconds. This will allow LabVIEW's internal scheduler to switch between loops and keep one of them from hoggin all the CPU time.
I'll try to take a more careful look later, but these comments will give you some things to think about.
Lynn