However, Apple has never given a good way to disable this until desired. In 10.3, I had to move the mDNSResponder StartupItem, and in 10.4, it's a similar situation. You can disable it once by running (shown on two lines, but should be pastable):
launchctl unload /System/Library/LaunchDaemons/\
com.apple.mDNSResponder.plist
However, Bonjour will then relaunch on next startup. According to launchctl's man page, I should be able to put that command (or something like it) in ~/.launchd.conf or /etc/launchd to tell it not to load mDNSResponder when it starts up. However, I tried various combinations of that (with sudo and without, and with the launchctl command and without), and it didn't seem to work.
In the interim, I found that you can either rename /usr/bin/mDNSResponder to .back or whatever, or move the .plist I listed above -- when I renamed it .back, it still launched, so I ended up just moving it up one directory, so it can be easily put back. If anyone finds out the official launchd way of stoppping this from loading at startup, I would be interested in hearing it. In the meantime, it can still be temporarily re-enabled by just using this command:
launchctl load /path/to/relocated/com.apple.mDNSResponder.plist
[robg adds: I haven't tested this one...]

