After speaking with “Bob” from Microsoft Developer Support, it seems that my supposition regarding the implementation of IOleCommandTarget on our ActiveX client site was spot on. According to them, they were able to debug things from their side and look at the code path surrounding that call to IOleCommandTarget.Exec() and determined that it was in fact directly related to an S_OK return code from that method. It was also confirmed that the command ID of 66 was in fact a new command ID introduced with the latest patch (KB834707). What strikes me as odd about this whole thing is that the return code in this case seems backward. I would have presumed that a return code of S_OK would mean “Sure, go ahead and download the file and don’t ask the user.” Obviously this was not the case as S_OK actually meant, “Ask the user if they want to open the file.” Unfortunately, I was not able to get a resolution to this problem prior to releasing Delphi 2005 to manufacturing. So look for a fix to this problem in a upcoming patch… soon.
I know that “Bob” reads this blog since in our last conversation he mentioned that he went to this site (since it was listed in my email sig). So, “Bob”, if you’re reading this, thanks for all your help. I have to commend you and your support group for their reasonably quick and very proactive response.