yep - been there too my friend. The trick is to save-away the return status into a kixtart variable, lile $ERROR and $SERROR, eg:

:TIME
SETTIME "CONSTELLATION"
IF @error <> 0
 $ERROR = @ERROR
 $SERROR = @SERROR
 GOTO WRITEERROR
ENDIF

...

:WRITEERROR

IF OPEN(1,"C:\kixtart.log",5) = 0
 WRITELINE(1,@USERID + CHR(9) + @DATE + CHR(9) + @TIME + CHR(9) + @LSERVER + CHR(9) + $err + CHR(9) + $serror + CHR(13) + CHR(10))
ELSE
 BEEP
 MESSAGEBOX("Errors running logon script and unable to open log file.","WARNING!",0+48+0+0,10)
ENDIF



-Shawn

[ 10 April 2002, 00:17: Message edited by: Shawn ]