Hello bearman.m ,
I will take a look at your model a bit later, but for now I want to address your other question - you can receive messages from all range of possible IDs using just 1 single MB - all you have to do is set the corresponding acceptance filter (ID + mask). However, if you want to have a hardware trigger for more independent ranges, then you will use more MBs. You will have to set each of them with the according acceptance filter. This will be limited by the number of MB you have available on the hardware itself. However, this limit is only for how many independent interrupts can be generated; the number of IDs from which you can receive messages is not limited (as explained earlier, 1 MB can be used to accept from the entire range of available IDs).
Hope this helps,
Razvan.