If probably has more to do with all your mismatched If/Else/EndIf statements.

You have 17 IF statements, and only 3 EndIf statements.

This should accomplish the same thing...without using the dreaded GoTos.
 Code:
; The following registry settings need to be applied to all PC's on the network

If InStr(@PRODUCTTYPE,"Server 2003") OR
   InStr(@PRODUCTTYPE,"Vista") OR
   InStr(@PRODUCTTYPE,"98") OR
   InStr(@PRODUCTTYPE,"Me") OR
   InStr(@PRODUCTTYPE,"NT") OR
   InStr(@PRODUCTTYPE,"2000 Professional") OR
   InStr(@PRODUCTTYPE,"2000 Domain") OR
   InStr(@PRODUCTTYPE,"XP")
      $nul = WriteValue("HKEY_LOCAL_MACHINE\SOFTWARE\AssetCTRL", "Test", "1001", "REG_DWORD")
Else
   If @PRODUCTTYPE <> "Windows 2000 Server" AND @PRODUCTTYPE <> "Windows 95"
      CALL @LDRIVE + "\Key.bat"
   Endif
Endif