My solution for a similar problem.
I had this problem as well.
I have predominantly an XP network talking to a Windows 2003 active directory server and many users have roaming profiles.
Purchased a new system with windows 7 and the user logged in and only a temporary profile was created.
What I did to solve this with helpful hints from this site and others.
I looked at the event log and saw permission denied on the application events for a profile logon event.
I made the user admin on the user system, and a domain admin. The user logged in and this time a new profile was created and I had the user log out. The profile was created on the server <user name>.v2. On the server this was directly below their old profile <user name>.
I then copied all the profile contents from the old to the new ( I did not overwrite small system files ntuser.ini, or a Thumbs.db. Not sure if this is important but it's what I did).
I added the user as an administrator to their folder and made sure the rights were propagated through the directory structure.
The user logged in again to their system and this time all their data showed up.
I then took the domainadmin rights away and the user was working fine.
This does not allow them to roam between XP based machines and Windows 7 machines. I did not explore how to get that working.