I think the issue here is one of name resolution. When your XP clients log on to the domain, they are not getting the name of the DC resolved by your DNS (which is the only DNS that "knows" your DC), but rather attempting to resolve it via your ISP's DNS. When this fails, the clients then fall back to the Host name resolution steps as defined by MicroSoft TCP/IP Host Name Resolution. Here is a MS overview of XP name resolution: http://tinyurl.com/34fzx. As you can see, when there is no hosts entry, and DNS fails, the workstation falls back to NetBIOS name resolution. If it cannot find the DC in the NetBIOS name cache (which it will not if you are just logging on), it will have to broadcast and/or browse for the domain controller. THIS is why it takes so long!!! This also why when you first log on, you can access your file server without delay, but then later you cannot. The name cache no longer has the file server name cached, and so the PC must rebrowse.
You can test my theory by creating a hosts file on one PC. It should be located here: c:\winnt\system32\drivers\etc\hosts. Refer to this MS document create one if needed http://tinyurl.com/34fzx (Click Editing the hosts file in left nav bar). Add an entry for your DC as shown (and the file server if you want). Reboot the machine, and see if your logon times are faster. I'd bet they are.
If this test fixes the issue on the one workstation, then you need to adjust your name resolution for all the rest of them. You COULD copy the hosts file to all the other workstation, but thats probably not the best solution. Fixing the your DNS, and then pointing DHCP settings to your DNS (rather than the ISP DNS) would be the best way to do it. However, you will have to add your ISP's DNS as a forwarder. You will probably have to remove the "." record from your DNS forwarders to add this.