As far as I can see, I am not changing the logic in the code at all. It is analogous to this example:
If I have vi A that does these actions:
File Open, Read Data from file, File Close
Now I remove the File Open from vi A and call the modified vi, B.
I create a third vi C which does this:
File Open, Call vi B as a subvi.
That should make both A and C identical - thats the only change I'm making so I really cant see why this problem occurs.
Something seems to happen to the refnum when it gets through the connector pane of the subvi B.