I'd be surprised if that worked for you even in the development environment. It is almost a sort of recursion. I'm going to guess as to what is going on, and others can correct me if I'm wrong.
When paths get built, they are generally created as relative paths. So the path of where VI B is relative to VI A, rather than an absolute path. Well when your reference for VI B also happens to be the same as VI A which it happens to be in, it is probably trying to build a relative path back to itself, and the algorithm then falls apart.