A colleague of mine, Hans Jacob Kunz Brun, gave me a very good tip on how to troubleshoot slow logon in a terminalserver/Citrix environment. The source for this informations is here: http://www.brianmadden.com/blogs/brianmadden/archive/2006/03/06/troubleshooting-slow-citrix-and-terminal-server-logons.aspx
If you dont want to read the whole article (But you should!), here is the short version which is a directquote from the original article;
You can enable userenv.dll logging by adding the following registry entry to a Terminal Server:
Key: HKLMSoftwareMicrosoftWindows NTCurrentVersionWinlogon
Data: 10002 (Hex)
The data value of 10002 will enable verbose logging to a file on the server. Once you set this value, reboot your server and check for a “userenv.log” file in the %SystemRoot%DebugUserMode folder. Remember to turn this off when you’re done troubleshooting it, since each user logon can easily add 100KB to the size of this log file.
Once you have this log file, take a quick look at the first and last timestamps. If they’re very close together (like only a few seconds apart), then you know that it’s probably not worth spending too much time with this logfile. However, if you have 10, 20, or even 30 seconds in this file, then you can read through it to figure out where the holdup is.