Нашёл.
Код:
if (x_put>=x_min_lim) and (x_put<=(x_map_scr+map_scr_width))
and (y_put>=y_min_lim) and (y_put<=(y_map_scr+map_scr_height))
then
(Смысл этих проверок от меня как-то ускользает. Догадываюсь что проверяется видимость объектов на экране, но до конца понять не могу.)
Проблема всё с тем же "заворотом" значений. В моём компиляторе буду стараться вычислять "математически". Если написано "(A-B)>10", то по возможности так и будет вычисляться, без удержания в уме типов переменных и правил работы с ними (привет языку Си). При A=5 и B=6 результат false.