Your problem has nothing to do with the event structure. When you call a subVI statically, you pass control to that subVI and while it's executing, the main VI can do nothing. It's the same thing with text based programming. Call a function with an infinite while loop, and the rest of the program stops. The solution is to call the subVI dynamically. You can use an Invoke Node to open a front panel (if you want it visible) and then run it. There have been numerous examples of dynamically calling VIs posted to the forum and available on NI Developer Zone.
