I don't pretend to be an expert in DNS ....
But I've got a dual-NIC server, one side pointing to the outside world, the other inside. The default gateway points externally, as does the DNS. If I do an NSLOOKUP on the box, I jump to the outside (188.8.131.52) UUNet outside address. But if I type PING and put an internal DNS name in, it knows to use my internal DNS.
My question is how does it know to go external or internal, especially when my default gateway points outward. So if I work for xyz.com, and type ping donald.inside.xyz.com it resolves the IP on my internal DNS, but if I type ping google.ca it resolves outside ... where is that decision made???