It's now just the matter of 40 queues, you need to measure the data / message traffic targeted to those queue.
A few questions for you which may help you consider some architecture practices.
1. Can a single MDB handle your message transmission to the 40 queue?
2. Have you considered scalability? what if your system grows and you get more message threshold to the 40 queue? Can your existing architecture response to those with acceptable performance?
again, I guess why not consider a balancer which forces one or more MDBs to process the messages depending on the message rate? otherwise if this keeps growing, your users/customers will experience the message "Server Busy, Please try again later"