I'm not a Citrix guy, so I don't know if this applies. There is a setting that started with XP that you really need to set prior to running logon scripts. XP and above makes the desktop appear before all your network services are actually running. Changing the setting makes the computer wait for the network before showing the desktop.

See the FAQ:
Windows XP Professional Fast Logon Optimization
http://www.kixtart.org/forums/ubbthreads.php?ubb=showflat&Number=112428#Post112428