I run TreeWalk DNS on my windows XP machine as both a caching DNS server for personal use and also as an unpublished master for my domains. It's basically a full version of BIND but with all of the bugs and security flaws fixed. Being BIND it doesn't have a fancy GUI to configure it, but you get all of the power of an enterprise level DNS server. You can find it at http://www.ntcanuck.com/