How do I setup iMessage to correctly deliver to multiple devices?
It's less a bug than getting the people to send you an iMessage to your email and not your phone number.

The database actually has two accounts for you and since they are not merged / unified on the server end, you will end up with two accounts / two endpoints and messages to one are not combined with messages to the other.

iMessage in iOS6 does a much better job of unifying several emails and phone numbers, but in 5.0.1 there is no unity. I still like to have one address for my "caller ID" so that contacts tend to reply to my preferred account.