There are a couple of different ways to tweak Windows 2k/XP not to cache failed DNS lookups:
1. You can flush the DNS cache manually, by going to Command Prompt and typing: ipconfig /flushdns
2. You can wait for the cached lookup to expire or reboot the system...
Or you can permanently solve this issue by tweaking a few Registry entries.
DO NOT DO THIS IF YOU DON'T KNOW WHAT YOU ARE DOING, OR IF YOU ARE UNSURE. ALSO MAKE A BACKUP OF YOUR REGISTRY BEFORE EDITING IT IN ANYWAY.
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters]
NegativeCacheTime=0 (DWORD, default value: 0x12C (300 seconds), range: 0x00xFFFFFFFF seconds)
Description: Determines how long an entry recording a negative answer to a query remains in the DNS cache. When the time specified in the value of this entry expires, the DNS client deletes the answer record from cache.
NetFailureCacheTime=0 (DWORD, default value: 0x1E (30 seconds), range: 0x00xFFFFFFFF seconds)
Description: Determines for how long the DNS client stops sending queries when it suspects that the network is down. When the DNS client does not receive responses to repeated queries sent to any network adapter, the DNS client stops sending queries for the time specified in the value of this entry. During that time, the DNS client returns a timeout response to all queries. If the value of this entry is 0x0, this optimizing feature is disabled. DNS continues to send queries to an unresponsive network.
NegativeSOACacheTime=0 (DWORD. default value: 0x78 (120 secnds), range: 0x00xFFFFFFFF seconds)
Description: Determines how long an entry recording a negative answer to a query for an SOA (Start of Authority) record remains in the Domain Name System (DNS) cache. When the time specified in the value expires, the DNS client deletes the answer record from the cache.