Are you resetting the data provider or just updating it? I find that if I just update the data provider by inserting/removing elements the Tree reflects the change appropriately.
One bug I've hit, which might be what you are experiencing, is that if I remove the Tree from the stage and add it later then all branches will appear collapsed even tho the property openItems correctly lists the open nodes. The workaround is similar to what you describe: https://bugs.adobe.com/jira/browse/SDK-14892

