Personally I would go with:
User Adam sends message to Bob: 1) Adam sends message to Twitter service. "Bob>Hi." 2) Twitter check to see if Bob knows Adam. 3) Twitter sends "Adam>Hi." to Bob.
(With optimal storage so Bob and Adam can see their old conversations)
Your system let's random spammers people find out people's address which IMO is bad.
PS: Or Adam could send a message to "All>I like this soup." and Twitter then sends the message to everyone that cares about Adam including Bob.
Edit: It looks like Twitter is sending around 2million Tweets a day.