I have seen this a few times. Most of the time it is due to the registry maintaing an open logfile with the registry that the user is trying to use when they login. Kind of like two people trying to view the same file. Only 1 can at a time.
Most of the time, to fix this, I reboot the computer. If that doesn't work, I check the entry in the registry for the profile name trying to be accessed. I have seen times when somehow the name/location was changed, and so they get the default profile. Or they are trying to access another users hive, and if that is the case, then it's usually a permissions problem. Reassociate the profile to the correct path, and all will be well.
Something to try:
Go into the documents and settings folder and just rename the folder where your profile is housed. You have to be logged on as another user to do this...
Then log in as your self. When you do that, you get a new profile entry in the registry. Then open Regedit, and changed the following key: HKEY_LOCAL_MACHINE\Microsoft\windowsNT\Current_Ver sion\Profile List\guid
GUID is the assigned tag to who you are. There should be a few. What you have to do is look through them for your login name. You will see it in the "ProfileImagePath" entry. All you need to do is change that path to the one to your old profile and that should enable you to get all of your file back. Also that will test out to see if your NTuser.dat is corupt. (NTUser.dat is the registry data that is loaded as Hkey_Current_User)