Solution 1:

Well, our internal DNS servers are MSDNS and they hold up just fine under the stress of a global company, hundreds of locations, 500,000+ client workstations, etc... I don't see where you would have a problem putting one up.

Solution 2:

I run 2 external MSDNSs, both on MS server 2003. They're used for web servers, and they require little maintenance. They're high traffic servers, and you won't have any problems if your operating system is patched and security policies are in place.

You could also consider renting a dedicated box offsite, and turn it into a DNS server.

I also use Simple DNS. This application runs in windows as it's own DNS service. There are much more features for configuration, and the web API is worth the price alone, but It may not be worth the transition or cost for a backup system.

Good luck!

Solution 3:

I run two External MSDNS servers, they are both deployed on Server 2003 and have been rock solid for as long a they have been live (2 years and 1 year respectively).

We're about to upgrade these servers to Server 2008 and have no security worries.

If you have the MS Experience in house I would advise you make use of it, if you would prefer a *nix based solution then CentOS or Freebsd would both work nicely.