I’ve hit upon the following bug in what should have been a simple DNS search server change. Initially we thought this was due to us using a method in the Win32_networkconnection WMI class to change the DNS search servers list but apparently this will occur if you completely change the DNS servers in the list via the gui.
If you change the dns search server list completely then reboot the server then the server will trigger the original DNS servers to remove the A record for that server and then on restart attempt to register itself with the new DNS servers configured. This leads to an issue if both the orginal and new DNS servers are part of the same replicated AD DNS zone. The time between the two events means that the new DNS servers may still have the orginal A record listed and will reject the servers attempt to re register. Then the deletion replicates and the record is removed leaving you with a server with no A record in the zone.
The current workaround is to use the ipconfig /registerdns command twice, with a time gap between the two issued commands to ensure the deletion is replicated to the new DNS servers before registering again. Having a reasonably long TTl on the record will improve your odds of DNS client cache retaining the IP of that server while you apply the commands.