All the clients are set via DHCP and most servers are static with the same DNS settings.
DNS Servers:
AD/DNS1
AD/DNS2
AD/DNS3
AD/DNS4
All the DNS servers are using root hints the problem was that AD/DNS1 was still pingable but DNS was not functioning. So NSLOOKUP was returning (*** Request to UnKnown timed-out) and stopping there.
This is easily recreatable.
Go to AD/DNS1 stop the "DNS Server" service.
On client do "ipconfig /flushdns"
On client use NSLOOKUP for any valid host name.
You get a result like this:
nslookup <validhost>
DNS request timed out.
timeout was 2 seconds.
Server: UnKnown
Address: <AD/DNS1>
DNS request timed out.
timeout was 2 seconds.
DNS request timed out.
timeout was 2 seconds.
*** Request to UnKnown timed-out
It never switches over to any of the alternate DNS servers. Made for an action packed few hours while I got it fixed. Whats interesting is that if you shutdown the server "not pingable" this does not happen. NSLOOKUP goes on to
the other DNS servers like you would expect.