I use:
DelayedDesktopSwitchTimeout = 0 on all systems
Run Logon Script Synchronously & Run Logon Script Visible via GPO and have no issues.

You can't do just one of these.. Vista/Win7 default to 30-second desktop screen and minimized logon scripts. There's no need for "any" seconds of that screen, so set it to zero, not 5 seconds. Minimally set the logon script to run visible. Synchronous running forces the script to complete before the user desktop/start menu appears, insuring that all logon script tasks complete before the user can launch apps. Not required, but generally desired.

In our environment, the login script completes in under 3 seconds, so these settings have little impact on the user login process. If your login process takes more than a few seconds, look at the Universal Logon Script on our web site.

Glenn
_________________________
Actually I am a Rocket Scientist! \:D