If you've been bit by the problems with the web download of CDO 1.21 returning a 8004011D when trying to access an Exchange 2003 server then this post may help you out.
First the history of the problem and then what options are available to avoid this issue. So as you probably already know, with Exchange 2007 we don't have to have a Public Folder tree. This new scenario is the main cause behind this problem with the downloadable version of CDO 1.21. Steve Griffin does a great job of explaining how this came into being and where the CONNECT_IGNORE_NO_PF flags comes from in his post.
So with the downloadable versions of the CDO 1.21 library, this flag is passed by default now, remember this download was intended for use in a Outlook 2007 / Exchange 2007 environment. So this really isn't a big deal right? Wrong, the problem occurs when we use these CDO 1.21 web download bits and try to access an existing Exchange 2003 server. The result is your code fails with an error: 8004011D (MAPI_E_FAILONEPROVIDER error or "The Server is not available") error when trying to access the Exchange 2003 server. The reason is that the Exchange 2003 server you are trying to access doesn't know how to handle this new flag its being passed and returns this error.
Luckily there are now two options to approach this issue and I've documented them for your reading pleasure:
KB Article 929751 documents/explains the changes for Store so that the it will properly recognize the new flags.
The registry changes required to make this work needs to be set as follows: HKLM\Software\Microsoft\Windows Messaging Subsystem\CDO "Ignore No PF" DWORD Value: 1 : Means CDO will send the "CONNECT_IGNORE_NO_PF". Anything else, we won't send the flag. The default behavior with this update is to not send the flag. For accessing Exchange 2003 servers, I suspect that as the updates to store get out there and people get them installed on their 2003 servers, this will be less of an issue. But with this update, there is another complexity to be aware of here is that now with the default configuration of the CDO 1.21 web download being that we don't pass the "CONNECT_IGNORE_NO_PF" flag, and you try to use these binaries in environments with no Public Folder stores on Exchange 2007, you will fail until you change the key to 1.
The registry changes required to make this work needs to be set as follows:
HKLM\Software\Microsoft\Windows Messaging Subsystem\CDO
"Ignore No PF"
DWORD
Value: 1 : Means CDO will send the "CONNECT_IGNORE_NO_PF". Anything else, we won't send the flag. The default behavior with this update is to not send the flag.
For accessing Exchange 2003 servers, I suspect that as the updates to store get out there and people get them installed on their 2003 servers, this will be less of an issue. But with this update, there is another complexity to be aware of here is that now with the default configuration of the CDO 1.21 web download being that we don't pass the "CONNECT_IGNORE_NO_PF" flag, and you try to use these binaries in environments with no Public Folder stores on Exchange 2007, you will fail until you change the key to 1.
Resources:
The link to the web download for CDO 1.21 is here:
http://www.microsoft.com/downloads/details.aspx?FamilyId=2714320D-C997-4DE1-986F-24F081725D36&displaylang=en
The link to the web download for CDO 1.21 and MAPI is here:
http://www.microsoft.com/downloads/details.aspx?FamilyId=E17E7F31-079A-43A9-BFF2-0A110307611E&displaylang=en