I think this has to do with something on Apple's end. If you change your phone's message "caller ID" (settings, Messages, scroll down to "Receive at" and then set the "Caller ID") so that your computer, iPhone, and any other Apple devices are all using the same "Caller ID," then messages started on one devices sync across all of them.
There are two problems with this at present:
1) For the person you're messaging, sometimes this will create a new message discussion. It doesn't seem to matter if their address book includes your phone number and the email address you're using for iMessage. Aside from being an annoyance, if they ever choose to message you through the older discussion, or if they ever message to your phone number, then only your phone will receive the messages.
2) In iOS 5, only your phone can choose to have your phone number as the caller ID. In iOS 6, the phone number seems to associate with your Apple ID, and other iOS devices associated with that Apple ID can use the number as their message ID.
My hope is that it will all integrate more easily around the time that iOS 6 is released. I and a number of other iMessage users noted some changes to how iMessage was relaying messages between devices a few weeks ago, even though no changes had been made to device software, so it's clear that Apple can do some things on their end...