LocalToScreen kann doch fast nur außerhalb des sichtbaren Bereichs malen, wenn du die Screen-Koordinaten dann für das viel kleinere Bitmap benutzt.
Warum nicht erstmal einfach und diese Koordinaten/Zahlen in ein Label schreiben?
Oder an Position 0:0 als Text ins Bitmap.
Oder mal im Debugger nachsehn, was da drin steht?
plus die Eingangswete, Zwischenschritte usw.,
gegenüber img1.Width, img1.Bitmap.Width und Height.
Delphi-Quellcode:
BitmapPos := pb1.LocalToScreen(PointF(X, Y));
BitmapPos := img1.ScreenToLocal(BitmapPos);
?