Saludos gente de los dojos del siglo XXI.

Actualmente estoy haciendo una aplicación en flash que carga los registros de un XML, que se vacía a un DataSet y posteriormente a un DataGrid (hasta aquí todo bien).
El problema es que los registros aparecen en blanco. Sé que están ahí porque monitoreo el contenido del grid. Incluso puedo hacer operaciones de filtrado y ordenación. Pero los datos no se ven, es como si la fuente fuera del mismo color del fondo del grid.
Hago la asignación del DS al DG de esta manera:

// Vació el XML al arreglo resultados

var dataXML:XML = xml_.results;
var resultados:Array = [];
var principal = dataXML.firstChild;
var un_nodo:XMLNode = principal.firstChild;
while (un_nodo) {
var obj = new Object();
for (var attribute in aNode.attributes) {
obj[attribute] = aNode.attributes[attribute];
}
resultados.push(obj);
aNode = aNode.nextSibling;
}
// Asigno resultados al DataSet
ds.items = resultArray;
ds.filtered = false;
// y al Grid
grid.dataProvider = ds.dataProvider;
[...]

Todo esto lo he estado checando con trace para ver si en realidad se están transmitiendo los datos y sí están ahí, incluso puedo ver cómo cada fila cambia de color al pasar el cursor, puedo seleccionar un registro y etc. Pero el contenido no se ve en absoluto. ¿Qué puede ser?
Una cosa en la que me he fijado es que si cambio:

grid.dataProvider = ds.dataProvider;
por
grid.dataProvider = ds.items;

Los datos aparecen, pero no me reaccionan las opciones de filtrado. ¿Alguna idea?