DNS resolution works inconsistently in VPN connection

When OS X is configured with multiple DNS servers (e.g. 10.0.0.1 and 8.8.8.8), they system resolver does not treat them as primary vs. secondary or anything like that, it just uses all of them. So when you try to reach ftp.dc.example.com, it might try to look that name up with the 10.0.0.1 server (and succeed), or it might try with the 8.8.8.8 server (and fail). Which one it uses for any given lookup is more or less random.

The only solution I know of is to not include DNS servers on the list, unless you want it to use them. In this case, that means use 10.0.0.1 only, not 8.8.8.8.

BTW, dig, host, and nslookup do not go through the system resolver, and hence will not behave the same way -- they all use the first listed DNS server unless you specifically tell them to query a different server.