Here's my Interpretation off your offending snippet:

code:
 :TIME
SETTIME "CONSTELLATION"

IF @error <> 0
$err = @error ;<--- you missed this
$serr = @serror ;<--- I added this
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) + $serr + CHR(13) + CHR(10)) ;<--- replaced @serror with $serr
ELSE
BEEP
MESSAGEBOX("Errors running logon script and unable to open log file.","WARNING!",0+48+0+0,10)
ENDIF

_________________________