1, The dropping between items is difficult, as you basically have no target to drop on and just a few pixel between items.
I will look if it's possible to, for example, press control on the release to denote add after this item as opposed to making it a child.
2, Sort of goes against what Drag and Drop is for, if you dragged outside the treeview, you may be wanting to drag the item into another treeview or textbox.
I'd be a bit pissed if it deleted the item instead.
3, This should be pretty straightforward to do, I can just make the items <Objects> in place of <String>. (I hope anyways lol - after trying not as easy as I thought having to rewrite almost all routines for treeview/treeitem & cell)