The following are issues that could impact migration of your legacy SQLXML applications to SQLXML 4.0.
ADO and SQLXML 4.0 Queries
In earlier versions of SQLXML, support for URL-based query execution using IIS virtual directories and the SQLXML ISAPI filter was provided. For applications that use SQLXML 4.0, this support is no longer available.
Instead, SQLXML queries, templates, and updategrams can be executed by using the SQLXML extensions to ActiveX Data Objects (ADO) first introduced in Microsoft Data Access Components (MDAC) 2.6 and later.
For more information, see Using ADO to Execute SQLXML 4.0 Queries.
Supportability for SQLXML 3.0 ISAPI and Data Types Introduced in SQL Server 2005
Because ISAPI support has been removed from SQLXML 4.0, if your solution requires the enhanced data typing features introduced in SQL Server 2005 such as the xml data type or user-defined data types (UDTs) and Web-based access, you will need to use another solution such as SQLXML managed classes or another type of HTTP handler, such as Native XML Web Services for SQL Server 2005.
Alternately, if you do not require these type extensions, you can continue to use SQLXML 3.0 to connect to SQL Server 2005 and SQL Server 2008 installations. The SQLXML 3.0 ISAPI support will work against these later versions but does not support or recognize the xml data type or UDT type support introduced in SQL Server 2005.
XML Bulk Load Security Changes for Temporary Files
For SQLXML 4.0 and SQL Server 2005 or SQL Server 2008, XML Bulk Load file permissions are granted to the user executing the bulk load operation. Read and Write permissions are inherited from the file system. In previous releases of SQLXML and SQL Server, XML Bulk Load under SQLXML would create temporary files that were not secured and could be readable by anyone.
Migration Issues for Client-Side FOR XML
Due to changes in the execution engine, SQL Server 2005 and SQL Server 2008 might return different values in the metadata for a base table than would be returned if the FOR XML query was executed under SQL Server 2000. In cases where this occurs, client-side formatting of the FOR XML query results will have differing output depending on which version the query is run against.
If a FOR XML query is executed client-side using SQLXML 3.0 over an xml data type column, the data in the results will come back as a fully entitized string. In SQLXML 4.0, if the SQL Server Native Client (SQLNCLI10) is specified as the provider, the data will be returned as XML.