Steve,
Your implementation is flawed. The call by reference node is the exact equivalent to calling a SubVI, and is primarily used to call multiple instances of a VI (for example, in recursion, or to force reentrancy of VI) but that's about the extent.
Also, you are using a path to the VI along with a reference. This is redundant, you don't need both inputs.
Also, you are using references to pass Values around. This also looks flawed, as you are passing references into the subVI to input and retrieve values. This should be done by wiring the subVI directly with your input values.
If you could advise of what you are exactly trying to do (not what the code is doing, but your goal, the function that your subVI/caller perform), we may be able to
offer a better solution.