¡Pues claro que falla,
jomío! ¿A quién se le ocurre utilizar un "timer" para leer la posición del ratón?
Si es que...
Después de la bronca, te recomiendo que replantees la aplicación. Casi es mejor que utilices un bucle (cuasi)infinito para hacer esto. Lo que no tengo muy claro es dónde colocarlo, pero sería tal que así:
Código Delphi
[-]
TMiForm = CLASS (TFORM)
PRIVATE
Terminar: BOOLEAN;
PROCEDURE BuclePrincipal;
BEGIN
REPEAT
coordenadax:=mouse.curPos.X;
coordenadax:=mouse.curPos.X;
Application.ProcessMessages;
UNTIL Terminar;
END;
Como digo, el problema aquí reside en desde dónde llamar al método "BuclePrincipal".