I'm going to go way out on a limb here but if you need a "free" dns and dhcp server and you have an extra computer you should try Ubuntu Server. Set up Bind as the DNS server and a dhcp server by running the following commands:
sudo apt-get install dhcp3-server
sudo apt-get install bind9
Of course you'll also need to do a little work installing Ubuntu Server but it's really very straight forward. Burn an install disk and boot your computer. It'll walk you through all the steps.
Set your server up with a static address by editing the following file:
sudo nano /etc/network/interface
Put something like this in the file (remove everything else)
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
address some.ip.add.ress
netmask 255.255.255.240
gateway you.r.gate.way
dns-server 208.67.222.222
Note that the DNS server listed above is for opendns. Replace it with your own once you have bind set up.
We use a Windows 2008 server for both DHCP and DNS but our Ubuntu servers work great as secondaries and could really work as primaries if we needed them to.
See this site for help on DHCP:
http://www.linuxtopia.org/online_books/system_administration_books/ubuntu_starter_guide/ch07s04.html
And this one for DNS:
http://ubuntuforums.org/showthread.php?t=236093
So it's free as in no cash for licenses but you'll pay for it in a bit of well spent time.
You have three basic tasks listed above plus two config files. Five items. Nothing more.
Hope I've talked you into it.