Simon, I code in Java and I have exactly the same problem than James007 and Guillaume, and it is not a problem of "local path" (which is correctly configured), but rather a problem of update of the model
after a refactoring of the code.
For example, when you rename a class, or a method in a class, in your IDE, you have to do the same thing in the EA model prior to reverse engineering operation, otherwise EA will create for you another class or method in the model and you'll loose the link between current diagrams entities and updated classes or methods.
It is worse if you decide to move a class to another package (like Guillaume explained with defining other namespaces in C#), since moving the class in the model is not sufficient : you have to patch the filename property of each moved class, before the reverse engineering, otherwise EA will create new classes in the same EA package, with different filenames. I don't imagine doing this manually for many classes...

In this particular case, it would be nice if EA could patch automatically filename property of moved classes, to reflect current package.
Do you confirm that model and code should be both modified in the way I explained, before the next reverse engineering operation can be done, or is there another (easier) way to do this ? Refactoring is a so common operation in Java that I hope you have a trick for this :-/.
Regards