I've been watching this thread and have no experience setting up user environments with Citrix clients, but maybe since the script properly copies the icons when run from a command prompt after login and doesn't copy the icons run as the login script run at login, the icon copying process should be made into its own script and called from the main login script in such a way that it breaks out of the initial login environment and might inherit the environment established in the context of the user outside of and after login:

(Don't laugh, I've seen worse looking things actually work.)

code:
run '%COMSPEC% /c start {pathtokixexe}\kix32.exe {pathtokixscript}\copyicon.kix'

This would be placed near if not actually at the end point of the current Kix login script which is itself called from the *.cmd. If the above doesn't work, I'd give a shot with an additional %comspec% /c added after the start command. Analogous gyrations have proven to accomplish tricks with the environment on Win9x clients.

Hope the problem gets solved.

mole
_________________________
mole

Who is John Galt?