I am sorry for the delayed reply, we were a little busier with the Beta 1 release of the controls, which is out now.
I realize now that my reply is past the 24 hour deadline that you had, but I hope that it will be helpful.
You can handle the TreeView's PreviewDragEnded event. This way the TreeView will not try to add/remove the XML elements from their nodes.
Then, you can handle the DropInfo event and check for the "DropComplete" e.Options.Status on the TreeView. Your xml data source should be the DataContext of the e.Options.Destination item. You will be able to retrieve it and add the items, which should be the payload of the DragDrop. The DropInfo event with status "DragComplete" needs also to be handled if you need to manually remove the payload from the e.Options.Source item.
Since the Xml elements are not observable, you may also like to call the itemsControl.Items.Refresh() of the parents of the affected nodes. This way the TreeView will update the representation as well.
I will copy my reply to your other thread as well.
Again, I am sorry for the delay, do not hesitate to contact us if you have more questions.
the Telerik team