You need to provide a minimum example of failure, possible using a form and couple of objects to drag.
--Strange;
I just experimented a little by putting a Tbutton.dragMode := dmManual, and in the MouseDown event
I do this
Button1.BeginDrag(false, 20);
This works after I move the mouse 20 pixels, it then goes into drag mode, however, There is no OnClick event!
So if I release the mouse and don't move the cursor, the OnClick never gets called.
Normally the OnClick gets called when the mouse is released which is good and it does that if we don't
use dragmode.
Starting drag Mode within the MouseDown and not moving the mouse and then release it, while drag mode
is not immediate, does not fire the OnClick event like it should, hmm...
In my old Delphi it does work as stated however, when I enter drag mode using the OnMouseDown event it
calles the OnClick immediately instead of calling it on mouseup, but it does call it on OnMouseUp if I don't
enter drag Mode manually.
I am not really sure if that is correct but at least it does call the OnClick if you don't hit the threshold on the
mouse movement.
P.S.
I guess that is not a show stopper, I can still call the event if I wish doing the Assigned Test and then
call it. from the Mousedown event.