I have in the past reset bonjour from the command line, and that was able to get Bonjour back up and running until the next reboot. This is what I did:

sudo launchctl unload /System/Library/LaunchDaemons/com.apple.mDNSResponder.plis 
sudo launchctl load /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist

So, even though that could be made to work, it certainly wasn't a solution to the problem. The big problem with doing this is that I also have to restart all the servers re-register them with the new service.