Что конкретно не разобрался до конца.
Дебажить массивы из COM объекта не очень удобно. Разобрал массив через другой класс, предложенным через другой способ документашкой Dll.
Есть подозрение, что при сборе массива в неправильной кодировке перед названием поля попался какой-то символ. Это подтвердилось выводом xml через другую функцию. Браузерный валидатор такую xml сразу отбраковал из за непонятного символа как раз перед именем поля.