As more and more developers move to managed code (.NET), especially with the release of Visual Studio 2005, it is important to be reminded of what current API's are supported for use in managed code and which are not. The following KB article is a must read when starting .NET development against Exchange, Outlook, or SMTP.
...We all would like to see more supportability with .NET from our Exchange API's. Exchange 12 could offer some more options to that end. It is important to know the basics about all our API's, their functionality limitations, and supportability concerns. Exchange development often requires blending multiple API's to get the job done; you should be open to that possibility.