Yep, I know what you're talking about. That phenomenon happens also for PCs connected in a Domain. However, the resolution for that is somehow different. Your batch file is a workaround for that problem and of course it works.
There is a MSKB article close enough with your problem. I'll give you only for reference.
Q330519 - Red 'X' Appears on Home Folder Mapped Drive in Windows Explorer"
Now, let's try the following procedure :
On client PCs, run gpedit.msc to open Group Policy MMC. In the Group policy MMC Console, search for Local Computer Policy -Computer Configuration -Administrative Templates -System -Logon.. Right click the "Always wait for the network at computer startup and logon" policy, and choose Properties. In the "Always wait for the network at computer startup and logon" dialogue, select the "enabled" radio button, and then select "OK". Restart client PCs.
Trying to unweave, unwind, unravel
And piece together the past and the future,
T. S. Eliot
I have 3 computers all XP Pro setup as workgroup.
All are P4 3.0 Ghz 512MB DDR , with Marvell gigabit ethernet, although they are connected through a 10/100 hub. I tested a different switch and got same results.
These are new clean install XP Pro. They are on a LAN that is not on the internet. As such, not running spyware or virus detection of any kind. Also no firewalls.
One PC named "server" has the application data that everyone accesses. The folder on it is c:\yardi
That folder is shared with no restriction (simple sharing)
On the other 2 pc's, each on has the yardi folder mapped as F:. The problem is that when the other 2 computers boot (hot , cold , restart doesn't matter)
the show F: with a Red X and I get an error message saying that some network connections could not be restored.
I tried Net Use and putting a shortcut to a batch file in the startup folder, but it won't even map the drive from there. After I get to the desktop, I can run the same batchfile and it will map fine and is connected.
I have looked for solutions to this, but putting "waits" in the batch file doesn't help since Windows just waits on everything. I think it needs to finish loading the desktop before the batch file runs.
Got any suggestions for this problem.
Also, I put in a line to turn off autodisconnect, so the mapped drives don't lose their connection during the day and we end up with the same problem.