Hmm, na ja, da in onMouseDown BeginDrag aufgerufen wird, ist das Verhalten doch richtig, oder? Ich meine, der Drag-Vorgang wird halt immer bei onMouseDown gestartet, auch wenn man nur normal klickt.
Das sinnvollste wäre wohl, in MouseDown nur zu speichern, dass die Maus unten ist und wo sie gedrückt wurde, und dann in MouseMove bei entsprechender Entfernung vom Drücken der Maustaste (halt 5 Pixel oder so, wie bei nem normalen DnD) das BeginDrag auszulösen.
Dazu muss dann in MouseUp natürlich gesetzt werden, wenn die Maus nicht mehr unten ist, ebenso in DragDrop.