Hola Pepepercebe.
Hace poco he estado con un problema similar. Asegúrate de que si vienen caracteres 'latin' en el paquete XML hayas encabezado el envio con:
header('Content-type: text/xml; charset=iso-8859-1', true);
Y el paquete XML:
<?xml version="1.0" encoding="ISO-8859-1"?>
Cuando trabajo con MySQL y charset=latin uno hay que usar el ISO-8859 por tanto.
Te lo digo porque me ocurría lo mismo que a ti al ir a parsear el paquete recibido.
Este es mi post reciente con este problema Y aquí se habla bastante de los charset y como afecta a AJAX. Además de que FF e IE trabajan algo diferente.
Espero haber ayudado.
Un saludo!