I think the problem is that the original author of DNS_SD was working from the Mac (Bonjour) APIs and at the time the compat lib offered a convenient way to offer that support elsewhere.
Correct, when I wrote it I targeted it at OS X.
The last time I looked at Avahi (years ago, though) it was a mess and didn't seem like it would be straightforward to use the native API. I'm not sure if that's changed or not.
I can't even find "avahi" anywhere in the Pike tree so I have no idea in which way Pike uses it. Someone else did however add libhowl glue (grendel), and maybe that is what is now classified as the Avahi compat mode?