Hola Tonio, lo que puedes hacer es adecuar este ejemplo que preparé que creo es lo que quieres:
Código:
procedure TForm1.RichEdit1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if screen.Height div 2>RichEdit1.ClientToScreen(Point(x,y)).Y then
showmessage('ESTOY ARRIBA') else showmessage('ESTOY ABAJO')
end;
El mensaje lo sustituyes por la presentación de tu ventana de ayuda arriba o abajo, espero te sirva.
Saludos y suerte