The most common source of this problem is a failure to track the path
differences between a built application and the development
environment. As an experiment, put a patch in the code that write the
path that it's trying to open to a text file. See if the VI is where
the program is looking for it.
This problem can be caused by the way you build your application--not
the code itself.
Another problem to check for is with the main VI running in the
runtime system, manually open the dynamic vi and make sure it's
executable. A variety of things can happen to make a VI that runs fine
in the development system suddenly broken at runtime.