Sind das Bildschirmkoordinaten oder wurde die Position bereits auf dein Fenster umgerechnet?
Am besten mal mit dem Debugger bei GetSpriteAt anhalten und sich die Koordinaten des Helden ausgeben lassen.
So ist es unabhängig von deinem aktuellen Problem sicherer:
Delphi-Quellcode:
if Selected is TObjekt then
begin
TObjekt(Selected).UseObject;