application start freezing, after I debugged the code I found that the problem was the Tree setter selectedItem, googling I found this page http://forums.adobe.com/thread/823041 with people that have the same issue, the solution suggested was to call validateProperties before the problematic setter, this worked to make the app not freeze but the selectedItem did not done it's job so I used a callLater function to set the selectedItem after an interval
I did not found a way to do this with the spark DataGrid, only with the mx one, the developers encapsulated very well the renderers. Because Flex is open source I read the code and finaly found a way to access the renderers. I could not use bindings in my case and I did not had other idea at that moment and because the renderers are very optimized it is hard to make them refresh.
Some code for updating the Tree component and keeping the opened items and selection if possible.