Hab mir dann doch selbst helfen können. Und damit alle anderen auch was davon haben ... :
Die Lösung steht
hier.
Kurz gesagt: Die verwendete TDragImageList kann nach dem erstellen nicht verändert werden. Letztlich muss mittels GetDragCursor EndDrag und eine neues BeginDrag ausgelöst werden, damit die TDragImageList neu erstellt werden kann (Dann mit einem veränderten Image).
z.B. so:
Delphi-Quellcode:
function TTreeDragControlObject.GetDragCursor(Accepted: Boolean; X,
Y: Integer): TCursor;
begin
if (FPrevAccepted<>Accepted) or (FText<>FPrevText) then
with FDragImages do
begin
EndDrag;
SetDragImage(0, 0, 0);
BeginDrag(GetDesktopWindow, x, y);
end;
FPrevAccepted:=Accepted;
REsult:=inherited GetDragCursor(Accepted, x, y);
end;