Hi mpa,
Thank you for your feedback on your XControls project. It sounds very interesting! Unfortunately, I can't see the logic in having multiple XControls named the same thing (foo.xctl). If you want to dynamically load separate XControls into memory using your wrapper VI, you will have to name the XControls themselves separate things.
You are correct about number 4. For your information, you can view exactly when LabVIEW loads a certain XControl into memory, because it locks the XControl VIs themselves. So if you are developing in a Project, then you will see a red padlock icon appear over your XControl file whenever you open a VI that contains the XControl, a reference to it, a class specifier constant, or a property node.
There really isn't any workaround except for dynamically loading everything along the way to avoid these naming collisions, but again, I don't see why there should be a workaround. Can you clarify what you're trying to accomplish by having XControls with the exact same names? I'd love to help!
Jarrod S.
National Instruments