Cоздал мальнький проект для демонстрации...итак :

Код:
<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
private function onShowDP():void
{
trace(dg.dataProvider);
}
]]>
</mx:Script>
<mx:XMLList id="ctls">
<oc id="98" hwn="0xada" seg="1"/>
<oc id="111" hwn="0x003d" seg="6"/>
</mx:XMLList>
<mx:DataGrid id="dg" width="100%" height="100%" rowCount="5" dataProvider="{ctls}">
<mx:columns>
<mx:DataGridColumn dataField="@id" headerText="Id"/>
<mx:DataGridColumn dataField="@hwn" headerText="Number"/>
<mx:DataGridColumn dataField="@seg" headerText="Segment"/>
</mx:columns>
</mx:DataGrid>
<mx:Button label="show DP" click="onShowDP()"/>
</mx:Application>
Если отсортировать датагрид и нажать кнопку "show DP" трейс ничего не напечатает(!)...Но, как только я вместо этого XMLList подставлю следующий(также нужно позабирать собачки в полях dataField) трейс будет его печатать и после сортировки...

Код:
<mx:XMLList id="ctls">
<oc>
<id>98</id>
<hwn>0xada</hwn>
<seg>1</seg>
</oc>
<oc>
<id>111</id>
<hwn>0x003d</hwn>
<seg>6</seg>
</oc>
</mx:XMLList>
Что я недочитал в документации ?
п.с. Flex 3 Beta 3