У меня возникла подобная проблема и тоже пришлось искать всевозможные варианты решения.
1. Кеширование данных зачастую полезно, и совсем обрубать эту штуку не советую. Делайте только для тех данных, которые действительно быстро изменяются. В примере автора топика как раз не тот случай.
2. В PHP обязательно укажите достоверную информацию про передаваемые данные. Если скрипт формирует XML то ПЕРЕД выводом хоть чего-то наружу укажите для данных без кеширования:

PHP код:
header("Content-type: text/xml; charset=utf-8");
header("Cache-Control: no-cache");
header("Expires: -1");
У меня ошибка возникала в IE до тех пор, пока было "text/plain" из примера. И вот тут как раз IE начинал некорректно воспринимать символы < и >.
3. Не обязательно, но рекомендуется, валидно формировать данные. Мало того что флеш работает в utf-8, так еще и браузеры могут ругаться, если после обязательных

Код:
<?xml version="1.0" encoding="utf-8" ?>
желательно сделать ОДИН ОБЩИЙ УЗЕЛ (ноду). То есть

Код:
<node_global>
<datanode>1</datanode>
<datanode>4</datanode>
</node_global>
У меня не было одного корневого узла. Я использовал nextSibling, однако иногда браузер меня обламывал и не передавал корректно данные.
Вот как-то так.