I have created a function which seems to work. Maybe someone else is interested or maybe you can have a look Alex?
However I have still problem with drag and drop. Even if I drag a node within the same level. It only triggers a transport.delete action. Should this work with remote hierarchical datasource?