It turns out that one of the network interfaces in System Preferences must be turned on.
That sort of forces it to work, but it's probably not an optimal solution.
What if there is no other computer available to "network" to? Will it
still work?
Mac OS is a sort of b*stard child of several operating systems, and it
shows in a few of its sub-systems, like DNS. As you've experienced,
it has more than one place where it gets DNS information. One of these
is /etc/resolv.conf, from its BSD heritage, which makes DNS resolution
a system-wide setting, the *nix norm. The other place is via Network
settings, where DNS is coupled to a particular network interface. It may
make some sense (why enable DNS if the interface is down), but it
sometimes forces strange requirements, as it forced you to enable
one interface when it's the second interface that's actually used. The
design flaw here is assuming that all interfaces are configured through
Network settings, when they obviously don't need to be.
I've looked around, but there doesn't seem to be any clear cut way of affecting
the Network settings short of brute force editting. There's a file:
/Library/Preferences/SystemConfiguration/preferences.plist
...that seems to contain the Network settings, but there are multiple references
to DNS and I am unsure which one(s) to actually change. It can be editted with
a standard text editor, or, if you installed Xcode (it's on the Leopard DVD), using
"/Developer/Applications/Utilities/Property List Editor.app". On my system,
that file contains some kind of sub-heirarchy labelled
"NetworkServices/0/DNS" (that's a zero)
...that looks promising, but it's really up to you to try it out (and report please).
Ideally, your setup should work without the need to enable a network interface
you don't really need.