I think the mistake you've made is around the following steps:

  • Gone to "Nameserver Registration" in the panel and entered my IP address for the NS1 and NS2 records (let's say the IP is 0.0.0.0).
  • Gone to "Domain Name Server Setup" and entered ns1.mydomain.com & ns2.mydomain.com

What it looks like you've done is "told the internet" that the nameservers for your domain name are to be found at IP address "0.0.0.0", i.e. that you have a DNS server actively running at that IP address that is authoritative for the name "mydomain.com". What you should do is point the NS1 and NS2 records back to namecheap.com's name servers and use their control panel to point the "A" record to 0.0.0.0.

Also - you may get more luck with this question on serverfault.com as it's more of a server configuration thing than a coding thing :)