I have a similar setup here, and I think you made a mistake with the DNS zone setup/ AD naming setup
The thing is: local domains should be named as name.local, not name.com. .local is a non-known root domain so it won't mess with checking root dns systems to figure out what the ip is.
My pdc server is on 192.168.0.1 (win2k3 domain). I have a domain, sd.local. In the properties of the server (not the zone) in dns management: forwarders: just the external ISP DNS systems, not itself nor the router. The forward zone is sd.local, and properties of that have: servername.sd.local as primary server in startofauthority and servername.sd.local as nameserver.
Now, the thing is: when I ping somesubdns.sd.local, I get the local address. when I ping www.sd.nl, I get the IP address on the internet of our co-located server, as it's not local by definition, only .local domains are local.
As default gateway I've defined my router's IP address for all machines. As DNS server, the pdc. My router is also my (hardware) firewall so my PDC isn't required for routing.
I think it gets confused by the edevs.com. that's a local domain, so it never goes to the internet to ask for an IP address.
As you're using win2k3, you can rename your AD domain name, so I'd suggest edevs.local. Then, edevs.com is not local anymore and it will go to the root dns for com to ask for edevs.com's dns host, which is networksolutions and you'll get your ip address.