I'm finding that files that are added to the project (i.e. in the project tree) are properly handled, as are files that are included by a symbolic file group (i.e. "<Project name> Output" or "<Project name> DLL Dependencies"). Any other files that are added to your distribution kit are, as you say, not tracked by relative path. The rationale is that if your files are relative to anything, they are probably relative to a .prj file. Because a distribution can contain files from multiple projects, we only assume a relative relationship if we find the file in the project's file list. This may be something for us to reconsider.
I'd suggest you try adding all the files you wish to distribute to the project they belong to, then try relocating the directory again. If you still have problems, let me know. I am actually not sure how you are getting into the state where your distribution contains no files (as your error message suggests). Even if the files are not found at the expected paths, they should not be removed from your distribution, so you should be allowed to build. The build would fail, since the files can't be found, but it should at least get started. If my explaination does not seem to cover what you are seeing, please attach a small project that exhibits the behavior, and I'll take a look.
Also, just to confirm, are you having these problems in version 8.1?
Thanks.
Mert A.
National Instruments