From docs:
[boolean] OnDropJavascript ([CFlyTreeNode] target, [event] event)
Fired when a dragObject is dropped onto treeview node (target).
Return false to cancel the drop.
To remove node from the source treeview and not let it add to the second treeview you should just modify your code to return false:
function flyTreeView1_OnDrop(target, event)
{
flytreeview_dragObject.value.remove();
return false;
}
When you call to flytreeview_dragObject.value.remove(); the node is removed from the treeview.
The error you get occurs just because the D&D framework tries to remove the node for the second time.