If you are going to use a server behind a firewall - like Windows Firewall - as a DHCP and DNS server, these are the default ports to open and things to bear in mind... suffice to say mine is now working :)
UDP port 53 and TCP port 53.
UDP ports 67 and 2535.
Note that when you create a Firewall exception for the DHCP protocol on a DHCP server, you must set the scope for the exception to Any computer including those on the Internet. If you leave it set to My network (subnet) only, all inbound DHCP Discover packets from client computers are dropped because the IP address of the packet is 0.0.0.0, which is not recognized by the computer as being part of the local subnet. This causes the DHCP process to fail and clients do not receive IP addresses.
Now you know!!