Thanks for taking the time to answer. I will try to explain why I want explicit registration:
1. Our software has a set of default MessageHandlers. Often, we need to do "surface" customization for a customer. In a servicebus, this customization would actually mean to replace the default MessageHandlers with a customized one. This is done in the bootstrapper on the serverside.
If NSB just scans the assemblys for an appropriate Handler, there is a risk that two Handlers will be registered against the same message.
2. I want to 100 % sure at compile-time that the bootstrapper actually registers the correct Responsehandlers. I will acheive this by regular unit tests - ant relying on a fake instance of the bus.
3. We just dislike programming by convention in our company. Convention based programming makes thing hard to understand, especially for new developers. It's a bit like "magic happens here".
You, might disagree with me about explicit vs. convention based programming. But in our company, conventioned based programming is an anti-pattern.
About, the endpoints. I get it now. Having a web.config for the endpoints (or in code) will suit us perfectly - because all requests from clients to server go to the same "wcf-gateway" anyway.
(By the way: I watched you at NDC2009, "Making patterns complete" I think it was called. It really was an eye opener for me - especially the part about making roles explicit.)
(I had to answer my own question because stackoverflow has a limited number of characters in a comment)