Hi,
I've had my run on LauchUBEEx last year and the posts I've found here saved me from lots of troubles.
I think you're right, I've had the same problem with the queues and, if I'm not mistaken, there was a post here stating that the child UBE inherits its parent's queue and overrides the mapped queue.
What I had to do was split my code through several levels: an application calling a NER that called a BSFN that called the UBEs.
No UBE calling other UBE directly. I had to make several different calls of the BSFN from the NER, in order to avoid the inherit issue.
And I had to synchronize the calls myself, because the synch flag would not work, ie, when my BSFN called the UBE, it didn't wait for the UBE to finish before going on with the processing. This lead to the BSFN finishing before the UBE and then the NER called the BSFN to call another UBE that was only due processing AFTER the first UBE was finished, so I now had the 2 UBEs running (or enqueued) and it was not producing the appropriate behavior.
I could have probably used workflow to synch them or some other methods, but I decided to avoid any possible pitfalls (I've had my share of them with workflow, also), so I just checked for the Job Server queue (again, wonderful posts here to help) and waited for my first UBE to finish before calling the BSFN again.
Another thing to pay attention to: since I was calling my UBEs from the BSFN, I was using Report Data Structure on the UBE to get parameters to the data selection and I was setting them up in the BSFN through Data Structures that were copies of the UBE Data Structure. If you happen to change the data structures, all hell breaks loose. Be sure to build the data structure and assign it in the BSFN in a way that the right sequence of the data itens will match in both sides, or you'll get parameters switching and many weird behavior.
All in all, I had a lot of problems, but I've learned a lot. I hope that my tips help you.
Best luck.
Everson