When you move the solution, don't move the .suo (or .csproj.user) file
with it. Or, stated another way, don't check .suo or .csproj.user into
source control.
Having said that, I should point out that if you're using a source
control system and you don't check in .suo, then when you check your
solution out, Visual Studio 2003 gets all pissy and complains that your
solution is missing critical source control information and says that
it will "now attempt to reconstruct it," which it then proceeds to do.
I've never had it fail.
<rant>
I have no idea why MS chose to: 1) put two IDE-generated, apparently
superfluous files in the source directory so as to confuse most source
control systems out there, especially when said files contain absolute
paths which cause havoc if you check them into a source control system;
and 2) put in one of those IDE-generated, apparently superfluous files
"important" source control information that makes the IDE angry if the
file is missing.
I do enjoy working in VS2003... except for this stupid issue. I wonder
if they've fixed it in 2005?
</rant>