Use data flow to ensure that the que is created prior to running the VI...
Are you sure it's the obtain que that hangs? It would normally just return immediately with error code 1100.
Perhaps it's the subVI that has a loop in it so that the caller's loop hangs when the VI is run due to it waiting for the subVI to return(?)
If the subVIs are to run in parallell call them using an invoke node with the run metod and the wait until finished set to false. Do it after you have created the que, or make the subVIs wait until error 1100 goes away..or let them create the named que if it does not already exist... You already have the front panel loaded into the subpanel haven't you(?)..no need to open the panel.
Separate the subPanel concept with how you call and serv
e data to the subVIs...those things are done just as before, the subpanel just gives you a view of the subVIs panel.