Yes, well, it's not my intent to hijack this thread, and I'm certainly not going to change how I program based on your comments on why you don't like subVIs, which don't really have much to stand on. When I hear those kinds of comments (which isn't the first time), they're more indicative of a poorly designed program/hierarchy, sorry to say.
One comment I do need to say: SubVI do not "automatically" run when opened unless they're configured that way. You're probably confusing the run state of a subVI that's in a hierarchy when the main program is running. In this case the run arrow can't be clicked on - this does not indicate the VI is running unless the arrow is black. If the main VI is running and you open a subVI the arrow will look like two arrows inside each other. This indicates that the subVI cannot be run independently, as the main VI is running. This is explained in the LabVIEW documentation.
All that I can say is that hopefully you pick up some good LabVIEW programming
habits over time, and that will help you write VIs in such a way that
your objections become non-existent.