I noticed that JUCE is only negotiating the Cocoa event model in 64-bit plugin builds:
https://github.com/julianstorer/JUCE/blob/master/modules/juce_browser_plugin/wrapper/juce_NPAPI_GlueCode.cpp#L1002
Chrome for Mac (which currently can only load 32-bit plugins) stopped supporting Carbon event model plugins in version 22, and Firefox has dropped Carbon event model support on trunk already for Firefox 19 (https://bugzilla.mozilla.org/show_bug.cgi?id=598397), which means a JUCE-built plugin won’t work in Mac Chrome, and soon won’t work in 32-bit Mac Firefox. For best compatibility JUCE should always use the Cocoa event model if it’s available, or at the very least in any browser where the Carbon model is not available (both of which can be checked at runtime via an NPAPI call). This would give wider 32-bit support, most notably allowing plugins to work in current versions of Chrome. It would mean that people wouldn’t be obligated to ship hybrid 32-bit/64-bit plugins, because the 64-bit Mac browsers are all capable of loading 32-bit Cocoa event model plugins.
(FYI, the current event model negotiation isn’t doing anything; by spec, Carbon is the default in 32-bit, and Cocoa is the default in 64-bit, so all the current JUCE code is doing in both 32- and 64-bit is explicitly setting the mode that would be assumed anyway.)