Welcome to KORG!

Since you say you have that "spinning orb" during login, lets start with this registry setting on one of your Vista systems:
 Code:
$RC = WriteValue("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System", "DelayedDesktopSwitchTimeout","0","REG_DWORD")
This will change the default 60 second "spinning orb" welcome screen to disabled, effectively letting you see what the login script is doing. Also, add a
 Code:
$ = SetConsole('Maximize')
to the beginning of your script to insure you can see what's happening. This might provide more clues, since the example you posted seems OK (assuming you placed a description in the code tag and it's not really a missing comment tag ;\) )

Just a guess, but do any of your scripts rely on copy/paste capabilities? This would employ external UDFs and not built-in functions.

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