This looks like a great solution. Quick question: I don't see any html tags (html, body, etc.).
How does the bbry know how to interpret the data? I'm not familiar with the bbry email client, so that may just be the way bbry's handle it. I know that my windows mobile device doesn't accept html emails. That seems to be one benefit of bbry over windows mobile devices.
This may be asking for too much, but is there a way to send the email with both html type formatting and also text formatting, so that if the device doesn't support html (like my device), it would show the text version? I know that your solution was aimed at getting away from the tedious task of formatting text.