1) and 2) -- would you accept patches that enhance this aspect of plugin handling?
3) Thanks. I think I couldn't figure it out because I was testing it with my MetadataSource subclass, and for some reason defining it there has no apparent effect. I always see 3 checkboxes with 'download ratings/descriptions/tags', even if I don't define my own customize_help() (a bug?)
But when I tried it with a CoverDownload plugin, it all became clear -- worked as advertised

A shame that the customization is restricted to a single string... It would be great if it used some map-based approach, but I can work around that (I suppose I can use comma-separated key-value pairs to get more than one logical value through. Not very userfriendly, but will do the job).
Also, it seems that the zip of my CoverDownload plugin doesn't get added to the list of imports when the plugin is invoked (I get exceptions when I try to import modules bundled with the plugin, this forced me to temporarily do sys.path.insert(0, self.plugin_path) in the plugin itself). Normally I'd assume that I'm doing something wrong, but my MetadataSource plugin uses the same imports and works just fine...
Oh, and as for privacy issues -- I don't really have any, so please don't take it as personal mistrust, but if I can have the functionality of your proxy built directly into the plugin, then I'll go for it.
But as I said, it makes sense for me to decouple it this way, because then I can do any query type I need (inc. non-en languages, search by author/title,...), you won't be bothered with the load of handling Amazon queries for all your users out there...
Oh, and I can be sure that, should your proxy (or a router along the way) go down or become slow for some reason, that plugin will not be affected. It's a win-win, I think?