Yes there is a reason not to use a batch file. A batch file leaves an UGLY console window open while it is running.

NT/2000/XP don't require a batch file.

However, in this case I think using a batch file for testing might help you to find the problem.

@ECHO OFF
ECHO Temporary Logon Test
PAUSE


Run that with a test account for both 2000/XP and it should at least let you know that it finds the batch file.

Make sure it is in the NETLOGON share and that all users have read access to this share, which it would by default unless someone altered it after creation.