How do I tell OS X's implementation of Bonjour/ZeroConf which network to use for mdns?
In Windows, have you tried using Run > "msconfig" to disable the "mDNSResponder" service (I believe that gets installed via iTunes)? If it's running, then I'm guessing the Bonjour traffic is being generated from Windows itself.
Otherwise, I would try the steps in this guide.
In VMWare, open the settings for the virtual machine you're using. You need to change the "Network" settings to use bridge mode, instead of NAT.
To do so, as the relevant paragraph from the above website states:
"Click on the settings of your particular virtual machine, hop over the the network, and select “Connect directly to the physical network (Bridged)”.
Have you checked your routing table to see which interface is preferred for publishing to the Zeroconf multicast group?
netstat -rn | grep 224
Will return all the routing information for reserved multicast groups. Look for an entry for 224.0.0.251; this is the group used for MDNS. If there isn't a specific entry for this group, then check the entry for 224.0.0.0 with the most specific mask. It may be bound to your VMWare interface, or if multiple routes are installed, the VMWare one may have the lowest metric.
Assuming that this is the problem, a variant of the following command (run as root):
route add -host 224.0.0.251 dev ra0
Where 'ra0' is the devicename of your wireless interface will install a specific route forcing traffic for the Zeroconf group out via your wireless interface. This is obviously manual configuration that probably won't persist across a reboot; I'm not that familiar with OS X. Can anyone advise on the 'preferred' way of modifying the host routing table under OS X?