Sorry, I think I was wrong. MSXML3 appears to have all of the XSLT and XPath standards:
http://www.topxml.com/xsl/XPathRef.asphttp://www.topxml.com/xsl/XSLTRef.aspI was thinking of MSXML2 when I wrote my previous post. The reason is that my old company went from MSXML2 to 4 in order to avoid the whole 'replace mode' fiasco.
I'll change my post. Thanks for calling me on it. It appears that the main advantage of MSXML4 over v3 is speed. MS claims 4-8x speed up in XSLT processing.
When you say you had some projects not work with MSXML4, that may be because NON standard features of MSXML3 were removed from MSXML4 in order to force people to begin to move toward standards (we see this very, very rarely from Microsoft so we must appreciate the rarity, I guess).
From
http://www.eggheadcafe.com/articles/20011102.asp:
"Specifically, the following old, non-conformant technologies have been removed: old XSL with XSLPattern; uuid namespaces for XDR; the proprietary XmlParser object; and the normalize-line-breaks property in SAX. Corresponding standard technologies (XSLT 1.0, XPath 1.0, and http-based namespaces for XDR and SAX2) have been available since MSXML 3.0."