I had a customer email me today saying they resolved their CDO problem by installing SP 2 on their Exchange server and installing Outlook 2003. Big mistake! It's unfortunate and common but so many people put their Exchange implementations at risk by installing Outlook on top of Exchange. One of our Escalation Engineers, Stephen Griffin, has a great post and follow up on the subject. Exchange and Outlook both have their own versions of CDO and MAPI. When you install Exchange on top of Outlook or Outlook on top of Exchange you are essentially mixing and matching these libraries and their underlying subsystems. This scenario is not supported by PSS and if you have problems with code running on a server with Outlook and Exchange we can't help you.
...Don't get me wrong, the implementations are similar enough that you might not see any noticeable failures initially. In fact, many have argued that they have a machine running for X number of days just fine and see no reason why you can't have both installed. Take a look at Stephen's article, there are interfaces not implemented in the Outlook version that are implemented in the Exchange and vice versa. As soon as you or Outlook or Exchange try to use one of those interfaces you will know why you shouldn't have both applications installed on the same box.
...A common and related issue is copying the server CDO 1.21 library to a non-Exchange server or client to get around the client version's security prompts. This is not a supported solution for the same reason Exchange and Outlook can't coexist.
...Here is the KB article on the same issue, http://support.microsoft.com/default.aspx?scid=kb;en-us;q266418