You may as well react to the OnClick Event to copy the text and positions and use OnMouseDown/Up to set a flag telling which kind of "click" event it is.
To that end, mouseup and click are the same.
Actually not sure the click will be called, if there is a mouse move between mousedown and mouse up...
It'll be quite some work any way you do it. 
For sure.
Got the TMemo functioning, right up to the drag start.
But I can see I will need a TDragObject, that can play with Windoze versions, as I will need to drop on windows component.
Not sure that
I will be able to do this.
Seems dragging and dropping in Lazarus' version, only supports dragging controls, not simple text.
Not giving up yet tho.
On a somewhat different note - it seems the problem with the selection values not existing, is only when debuggng.
I.e I have a line
FSelText := Seltext;
When debugging it says SelText does not exist.
But singlestepping past it, FSelText has the correct value.
Attached the component as far as it is
