Try this workaround until you figure out the problem:
Instead of building your application into an executable, create a simple "loader" application. This is just a VI (with optional professional looking splash screen) that uses VI server to call and run your main VI. If you build this instead, your VIs remain as VIs, and any problems seen such as this are bypassed (hopefully).
I had to use this method when a bug was discovered in VISA (that I don't ever recall being solved, now that I think about it.) that caused it to not work properly in built applications.
I am probably going to author an Application Note or Article in Developer Insights, or LTR about this little trick, as I seem to be suggesting it a lot.
I'm sorry I can't help you with your p
roblem directly, but I hope this workaround helps.
Oh, a side benefit is that you are able to maintain a directory structure. And if you 'release' your software, and have to maintain an archive of the source and released, this makes it much easier, as your executable as only a single file, and all of your source remains intact. It also makes it easier to change your application without having to rebuild. The only drawback is that you have an entire VI Hierarchy as a deployed directory structure. This can be confusing to some people. To me, it was an elegant and optimized solution to many problems. It is a method that I always use now.