Hola,
Creo que algo así puede conseguir lo que precisas, esto es, que el elemento de la lista (en este caso un "TListBox") se sitúe en el lugar en que esté en ese momento el cursor del "TRichEdit":
Código Delphi
[-]
procedure TForm1.rEditorDragDrop(Sender, Source: TObject; X, Y: Integer);
var
i: integer;
begin
if not (Source is TListBox) then Exit;
i := (Source as TListBox).ItemIndex;
(Sender as TRichEdit).SelText := (Source as TListBox).Items[i];
end;
No digo yo que no pudiera mejorarse el asunto, que lo hize en un momento y sin mirar más allá posibles consecuencias, pero, en fin, creo que por ahí van los tiros, si no estoy confundido con lo que quieres llevar a cabo, ya digo.