
 perdona... como recojes las variables para la transformacion del XML???
dices que de un recordset... no es asi??? en que paso mandas el contenido del recordset al XML??? no puedes utilizar una funcion que reemplasca a todos los caracteres extraños antes de enviarlo al XML????  

.... aunque probablemente este metodo tambien lo puedas utilizar dentro del ciclo FOR 
 Cita:  For xCount = 0 To dbcRec.Fields.Count - 1 
'metodo de limpieza, podria ser aqui ????
    strXMLTemplate = strXMLTemplate & "<xsl:element name=""" & lcase(dbcRec(xCount).Name) & """>" & vbCrLf 
    strXMLTemplate = strXMLTemplate & "<xsl:value-of select=""@" & dbcRec(xCount).Name & """/>" & vbCrLf 
    strXMLTemplate = strXMLTemplate & "</xsl:element>" & vbCrLf 
    Next
    por al parecer en esa parte creas tus nodos..... 

 a lo mejor estoy divagando,