Не очень понятно зачем тебе это нужно. После SCREENSHOTEX лучше написать задержку, потому что сохранение файла дело не быстрое.
Ты написал print($_return1, $_return2) за условием поиска, и в чем твое удивление? Системные переменные $_return1, $_return2 небыли затронуты и значение в них осталось прежним. Более того, значения в них не обнуляются даже при остановке сценария. Они служат лишь для вывода значений, не стоит пытаться в них что то записать и обнулить. Их пишут только внутри условий.
Картинку, кстати, нужно потом удалять. Такой скрипт оправдан если ты делаешь скриншот в одной области а ищешь в другой или большей области.
GETSCREEN
SCREENSHOTEX(466,424, 478,455, "Image_", 0)
WAITMS(100)
IF_PICTURE_IN (466,424, 478,455, "screens\image_0000.bmp",-1, 80)
move($_return1, $_return2)
print($_return1, $_return2)
END_IF
TFCLEAR("screens\image_0000.bmp", 1) // удаляем картинку
HALT
В твоем случае можно использовать PXLCRC для получения хеш суммы области и сравнивания её в дальнейшем.
GETSCREEN
$hash1 = PXLCRC(466,424, 478,455) // снимаем хеш 1
WAITMS(500)
$hash2 = PXLCRC(466,424, 478,455) // через некоторое время снимаем хеш 2
IF($hash1 = $hash2) // сравниваем
HINTPOPUP("Совпадентие!")
HALT // стоп
END_IF