Temporary profiles usually come from some kind of corruption in the profile, especially when using roaming profiles where data is stored on a network share. The root cause of the issue can stem from multiple places on the network such as problematic, individual machines (i.e. multiple users utilize the same workstation at different points and the same issue develops for everyone.)
The best way to resolve this issue is to do the following:
1.) Move the users data to a safe location by entering each individual folder (e.g. Documents, Pictures, etc.) and copying the actual files, not the directory itself. Ensure that hidden files are not copied nor the 'desktop.ini' profiles.
2.) Manually delete the entire roaming profile as well as any other places the user's data may be stored such as a home share.
3.) Go around to the machines used by the user (or remote into these devices) and delete the user's profile from the machine. Type in 'systempropertiesadvanced' into Run as an administrator, click the the 'Settings' button under the 'User Profiles' area, find the profile(s) and select remove.
If all users make use of a roaming profile setup, tools such as the one in the link below maybe used:
(This is an adaption of the original Delprof.exe produced by Microsoft that has the power to work on newer OSes. Be careful as this will delete everyone from the local machine!)
4.) Log back into a machine connected to the domain as that user. It should rebuild the profile.
5.) If all goes well, move the user's data into the newly created folders and everything should be as it was, assuming all is well in Group Policy.
This usually works but sometimes a user logs into so many different machines (think a school where kids may use multiple PCs in a lab) that the temporary profile persists even after performing these steps. In this case, just make a brand new profile with a different name and eliminate steps 2 - 4 from the process.