При выделении Node'а и последующем его передвижении возникает ситуация что treeView1.SelectedNode указывает на элемент выделенный до этого(то есть для того чтобы все нормально прошло нужно сначала нажать на запись, чтобы выделение попало на него, и только после этого ее можно дропать, а слету перетащить нельзя, т.к. он читает что выделена запись которую нажимали до этого).