Great questions. My intention is to have multiple consumers subscribed, each of which would handle a different subset of messages, based on some set of criteria (just one criterion at the moment, which is basically a "type" property).
I haven't used MT2, but since there's currently more documentation on that ;-) I'm trying to approximate the functionality of the .All, etc. syntax, though I may be misunderstanding it.
So to answer your questions, I'd expect the message to be placed back on the queue or not consumed at all if it's picked up by a consumer that can't "handle" it based on the filter.
Is the real solution here to have multiple queues for each "type" (i.e. subset) of these messages?