Hola, tengo un problema extrañísimo al que no le veo sentido.
Según cree el xml de una forma u otra, AJAX funciona o no funciona. 
1 - Creo el xml sacando un valor float de la base de datos 
 Código PHP:
   
$materialCosts = $row['floatvaluefromdatabase'];
$xml = "<?xml version='1.0' standalone='yes'?>";
$xml = $xml."<prices>";
$xml = $xml."<price>".$materialCosts."</price>";
$xml = $xml."</prices>";
header('Content-Type: text/xml'); 
echo utf8_encode($xml);   
  2 - Creo el xml dándole un valor yo mismo 
 Código PHP:
   
$materialCosts = 6.00;
$xml = "<?xml version='1.0' standalone='yes'?>";
$xml = $xml."<prices>";
$xml = $xml."<price>".$materialCosts."</price>";
$xml = $xml."</prices>";
header('Content-Type: text/xml'); 
echo utf8_encode($xml);   
  en ambos casos el xml generado es el mismo: 
Código:
 <prices>
<price>6.00</price>
</prices>
  
Y aquí es donde llega mi sorpresa, Todo funciona bien con el xml generado de la forma 2, pero con el de la forma 1 no funciona. 
Yo pensaba que el xml generado era tratado como un texto plano, ¿no es así? 
La verdad es que no le encuentro explicación... 
gracias a todos.