I sympathize with your clean code and the NI rep. I make all of my students clean up their code so often they complain labview is more about being organized then knowing computes(but with good comments they can fine problems right away

) .
Our team did PID controllers for giggles this season. I am a C.S. and Math person working with a professional automation engineering mentor, so nerdy enough to read the NI manual on PID. The controller actually wants a percent. It just the difference between set point, and process variables(there is more then that, but it is a little more complicated then you can explain over a forum). I dont think it will help your drive issues, but if you send the PID a percent and give it a range between 100 to -100 then divide by 100 you will get a much better motor curve.
How did you go about setting your PID gains?
Please combine those three sets of loops, there is no reason you should separate them, and your timing becomes precise, and since your not driving off of floor sensors then you need that to be right!
The variables could cause the sporadic driving. I do not think they are, but what will save you a lot of trouble is if you place the arm movement part in a subvi. then call the subvi with the the two set points that you want in the arcade drive loop(the subvi will make your telop cleaner too!!)
As a member of the smoky mountain planning committee I hope you had a great time!! thanks for coming to Knoxville!