PDM is quite good about maintaining references when files are moved or renamed. The only advice would be to make sure that the files are Checked-In, so that PDM can do it's thing. Lately I been using the Move Tree command a lot, since it warns you about assemblies that are checked-out and won't update.
All that being said, the real problem is SolidWorks itself, not PDM. You see, SWX does not know about the existence of PDM, it just sees folders, does not care if they are PDM or not. A lot of times the SWX load sequence takes precedent and actually breaks references over PDM.
This is how SOLIDWORKS locates references, this is important to understand:
Adrian Velazquez is spot on, you need a local copy of the file. As you see in the link above, SOLIDWORKS does not once request information from PDM while locating references. However, normally when opening a file PDM will also attempt to get a version of all referenced files, and getting a version (by opening, previewing or getting (latest) versions) will copy that file from server to your local vault view, and then the local path is also in place. So even if you see files in e.g. "C:\YourVault\Projects\MyProject\CAD\", the vault view is just a window displaying the vaults' contents.
This starts with the import and check in, if the check in dialog is OK; no referenced files outside PDM, and no missing files, then that reference structure should also be OK. Viewing the Contains tab should verify that.
Does the missing files have something in common, like toolbox, library, type, that could identify what is going wrong?
Maybe its SOLIDWORKS. Maybe some old file paths for references, libraries, etc. Examine the Tools-Options-File Locations and Referenced Documents settings. Try removing all entries (make a backup of your settings with Copy Settings Wizard), does it help?
Also examine the reference list SOLIDWORKS is using, through File-File References. Maybe some are still outside, located in a local work in process folder, referencing someone elses local machine, or a common storage area on the server no longer in use, or with a broken folder path.
If you are still having problems, i suggest you contact your VAR. It's a lot better than working blindfolded through the forum.