With the parent set to Desktop, only the memory which the TreeView needs to keep itself alive is there with your application, the Window is related more to the Desktop Window than to your control's. With that happening, how much or what kind of control you will have on the tree, demands some finding out.
Interesting queries you have been sending to this forum though. But as I could see you are not getting many responses, probably 'cause you are not posting the code that matters more (u R posting a lot of code however, so no complaints in that regard). Like in this query, the Tree control already had a child-parent relationship with the ListControl window when you switched the parent with Desktop Window. How that effects the app's behavior is something that people here would be more interested to assess if you had posted code with which you set up the tree control in ListControl's cell.
Give it a thought. Present the problems to others in a way you would want them to be presented to you.
Thanks for you contribution to the forum, anyways. Your queries ARE of those true VC++ types, something interesting u are up to I must say. Thanks again for your contributions.