El objeto no admite la propiedad o el método 'transformNode' en Internet Explorer 10 (Windows 8)

Estoy teniendo algunos problemas de JavaScript que parecen ocurrir solo en Internet Explorer 10 en Windows 8 (IE 7, 8 y 9 funcionan bien). La parte básica de lo que estoy haciendo es obtener XML y XSL de un servicio web y luego transformarlos en JavaScript para renderizar en la página usando el objeto Sys.Net.XMLDOM.

XMLDOM = Sys.Net.XMLDOM;

var xsl = // XSL gotten from somewhere else 
var xmlString = // XML gotten from somewhere else as a string...
var xml = new XMLDOM(xmlString);

var content = xml.transformNode(xsl);

Cuando uso el código anterior en IE 10, obtengo:

El objeto no admite la propiedad o el método 'transformNode'

¿Alguna idea sobre por qué Internet Explorer 10 está haciendo esto?

EDITAR

También he intentado esto:

xmldoc = new ActiveXObject("Msxml2.DOMDocument"); 
xmldoc.async = false; 
xmldoc.load(xml); 

xsldoc = new ActiveXObject("Msxml2.DOMDocument"); 
xsldoc.async = false; 
xsldoc.load(xsl); 

var content = xmldoc.transformNode(xsldoc);

Lo cual funciona en todas las versiones anteriores de IE, pero en IE 10 obtengo:

Referencia al prefijo de espacio de nombres no declarado: 'átomo'.

Respuestas a la pregunta(4)

Su respuesta a la pregunta