Based on the calls/emails I personally had to answer, things like encoding, or making sure that HTML and text parts are specified in a certain order, or the aforementioned "Bcc mystery" bite quite a lot of people.
EDIT: forgot to add something: check out the "test mode" feature, you'd be amazed at how many people call us to flush up their email queue because they ran their unit tests on the production database! :)
http://spruce.sourceforge.net/gmime/
It's a high-level library (unlike most other MIME libraries) which makes constructing and parsing MIME trivial.
Besides, email is huge. In includes at least 4 non-trivial network protocols, several storage formats and a sea of proprietary ESP-specific extensions is error codes. There is no such thing as an "email support" in any language, only bits and pieces of uneven quality, therefore the most honest and shortest answer would be "all of them".
The solution I came up with was to simply use GMail. With their business suite, you'll be able to use your own domain and get access to their SMTP servers.
This won't work if you're sending thousands of emails per day, but a few hundred should be ok.