It sounds like you don't know if the users are executing the new version of the script or the old version. (I'm guessing that you have a single domain controller and that this isn't a file replication issue between the DCs. Theoretically, it could be, but we'll go there only if you indicate that you're seeing replication problems with the NETLOGON share between your DCs.)
My gut says that you're doing something like a "NET USE ..." and the users have persistent "drive mappings" enabled. As such, when the "NET USE ..." attempts to "map" the "drive" letter the command is failing because the "drive" is already "mapped".
I'd add a "NET USE x: /D" on the line before the drive letter in question, like:
@echo off
NET USE Q: /D
NET USE Q: \\server\sharename
This deletes the existing "mapping" for "drive" Q: before creating one.
By default, these "legacy logon scripts" run visible during logon. As such, you can add debugging line "echo on" and/or a "pause" at the end of the script, then logon as a user and see what's actually executing. This is your best bet if you can't get it to work-- see what's actually executing and debug it.