Your code seems OK. But I'm not sure that I understand what you want to achieve by "implicitly telling the branches that they are branches and the leafs that they are leafs". Please clarify. By definition a node is a leaf, if it has no children.
Regarding the other issues you mention, we are not sure what exactly you are experiencing. By default, the treeview offers visual indication where a node will be dropped, and you should not see any other behavior. We did not understand this line either: "the textbox is all over the place". Could you send us some screenshots of the problems you observe? We will also appreciate to see your exact implementation so that we find where the problem is. Just open a new support ticket and attach the files there. That way we will be able to identify the issues and tell you if they are fixed.
As to SP2, RadTreeView has been significantly enhanced for ease of use. I am sure that you will find it improved and better.
Thank you again for your assistance.
the Telerik team