Add comments displayed at all important steps (including the end!) and run the script from an interactive prompt on the problem server to see if the script really is processing correctly.

Also try changing the "Exit 0" to "Quit 0" - quit tells the command interpreter to exit, so if something funky is going on like the script keeps re-executing then the Quit should stop that.

BTW, is there a copy/paste error on this line, you are missing a "%" after the second LOGONSERVER:
 Code:
"%LOGONSERVER%\NETLOGON\KIX32.exe" "%LOGONSERVER \NETLOGON\LOGONSCRIPT.KIX" /f