Things I would check:
1. For the users that the logon script never runs, re-check the details of their network properties to be sure that the Win9x system is a member of the domain _and_ that the domain name is entered in the "Client for Microsoft Networks" tab, with "Log on to a Domain" checked.
2. All users understand they cannot log onto the network by pressing the ESC button (trust me - I'm still working on this with some users...).
3. Make sure there is enough "environment" available on the client systems for the necessary variables to be added by the script(s). My logon scripts add variables, so on my Win9x clients I have had to increase the environment by adding this line to config.sys: shell=c:\command.com /p /e:2048
4.Be sure the client does not have applications starting from the Startup folder that might be interfering with logon.
5. Be sure the client does not already have that drive letter mapped or assigned prior to the logon script. I unmap all drives inmy logon script to be sure I can map the ones they are supposed to have.
IE, I put this line:
net use /delete h:
Before this line:
net use h: \\server\userhome\Joe /persistent:no
6: Lastly, take your laptop over and plug into their RJ45 socket... got net? I had one user who plagued me with support calls until I realized some desk-mover must have jammed his desk against the wall hard enough to damage the socket with the network cable still in. It looked fine, but the internal connections were loose.