Why does "Loading your personal settings" take forever?
Solution 1:
A lot of times this is caused by the user having a roaming profile and tons of files saved in their profile somewhere, especially compounded with a slow network connection.
Solution 2:
Often, this occurs when you have persistent network shares (especially connections that don't exist any longer) or other application configuration that relies on network acess that is either slow or non-existant.
Probably other answers as well.
Solution 3:
You could try turning on the Userenv debugging and reading the logs on what is happening behind the scenes. I had an issue with a program that had hooked into the logon event but was timing out during its run. This was causing Windows to wait for the dll to finish up before timing out.
You can find information on turning on the userenv debug logging and how to read it at the Microsoft Directory Services team blog (Understanding how to read a userenv log - Part 1 and Understanding how to read a userenv log - Part 2.
Hope this helps!
EDIT: I found another helpful article on Technet: Interpreting Userenv log files