Quick summary of the lab I got:
server01 (first DC in the forest, DHCP server, DNS server)
IP:192.168.100.100
Pref. DNS: 192.168.100.101
server03 (also a DC, DNS server)
IP: 192.168.100.101
Pref. DNS: 192.168.100.100
server05 (exchange server 2003)
IP: 192.168.100.103
Pref. DNS: 192.168.100.100
client02
IP:assigned by server01, 192.168.100.102
Pref. DNS: from scope options (192.168.100.100)
Till yesterday, all 3 servers could resolve client02. It's suddenly stopped working. I just did not make any changes, so I dont know what's causing this.
By the way, I know I should be able to tackle this myself but am out of ideas.
I manually deleted the glue record for client02 on both DNS servers, and did a ipconfig/registerdns on the client. It registered the record on server01 but not on server03. I did a zone reload on server03, it gave the following error:
Zone could not be loaded. The process could not complete because the file is being used by another process.
I went into the zone properties on server01, and zone transfer was set to any server. Security is also set properly. The replication was set to all DNS servers in the domain, I changed it to all DNS servers in the forest. I did a repadmin /syncall and also forced replication from AD Sites and Services. But no

If I go into the zone's properties' security tab on server03, it says "Could not load security information". If I try changing the zone replication properties on server03, it gives me a similar error:
Process could not complete as the file is being used by another process.
The exchange server is powered off. I havent done anything apart from installing it 2 days ago. There are no RRAS servers. Windows firewall is off and there are no AV software on the machines.
The one error on both server01 and 03 that's of concern is : There was a problem with zone enumeration because DNS encountered a critical error from AD. Check that AD is running.
Edit: Just noticed another error -- The DHCP server could not locate a directory server.
But it still renewed the lease for client02.

Wonder why I get all the weird errors