OSX (at least 10.2 and on) will not resolve .local names via DNS. lookupd's DNSAgent simply refuses to issue queries for them. This gives the strange situation where nslookup foo.bar.local returns the correct information while ping foo.bar.local returns an 'unknown host' error.
This is documented in Apple's Knowledge Base (article 107174), but if you didn't think to browse the Rendezvous docs for DNS problems, you'd probably never find it. Apple's recommendation is to simply change your domain from .local to .home, .office or .lan. I've done that here, but with well-established kerberos and afs servers in the .local domain, it was anything but simple (or pleasant).
The only other workaround I know of is to populate each Mac's /etc/hosts file with all the local IPs and hostnames (e.g., "10.0.0.1 foo.bar.local foo"), and then change lookupd's search order with the following command (shown on two lines, but the backslash should allow a copy and paste to work):
nicl . -create /locations/lookupd/hosts \The tradeoff here is that while names in .local now resolve correctly, you've got the fun of keeping your /etc/hosts files in sync. That's probably why you installed a DNS server in the first place.
LookupOrder Cache FF DNS NI DS
Finally, I have no idea how this workaround might affect Rendezvous. I do know that disabling Rendezvous completely had no affect on .local name resolutions.

