OS X 10.5+ has some slightly odd resolver configuration to work around broken networks. It's described here.
The problem I'm having is that our network doesn't rely on brokenly using .local domains over unicast DNS, but instead relies on mDNS for most internal lookups. This works fine for most of our systems, but we would like to have some subdomains too. Sadly this breaks for all our OS X users because of this feature
Host names that contain two or more labels in addition to local, for example "server.domain.local", are resolved using a DNS server by default.
Which results in our subdomains getting looked up on the unicast DNS server instead which doesn't know how to resolve .local addresses at all.
The support article claims that this is default behavior, which to me suggests it's a configurable thing somehow but I can't figure out how to get this to act like 10.4 and just use mDNS for all .local lookups.