Всё правильно. Цикл FOR сделан только для перебора входного массива $arr_1, чтобы найти подстроку "Сейчассмотрят", т.к. номер строки, в которой может находиться эта подстрока, заранее не известен.
Так что делать проверку других условий в теле этого цикла нельзя.
Получается вот что: при поиске подстроки "Сейчассмотрят" в первой ячейке массива $arr_1, скрипт ничего не находит и должен перейти к проверке следующей строки, но у тебя уже срабатывает IF в блоке ELSE, который должен сработать только при условии, что подстроки "Сейчассмотрят" нет во всех ячейках массива $arr_1, а не только в первой.
В общем, все проверки условий надо делать после того как отработает цикл и вернет какое то значение, например в переменную-флаг:
FOR($i = 0, $i < ARRSIZE($arr_1)
//
END_CYC
IF($sejchas_smotryat = 1)
// Если смотрят
ELSE
// Если не смотрят
END_IF
STRSEPARATE(STRFILTER(HTTPGET ("https://www.youtube.com/channel/UCi_VsjkIy8vPMQnRMhPu9OA/live"), "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890_Сейчассмотрят", 1), "RenderervideoId", $arr_1)
FOR($i = 0, $i < ARRSIZE($arr_1))
IF(STRPOS($arr_1[$i], "Сейчассмотрят"))
STRSEPARATE($arr_1[1], "pollDelayMs", $arr_2)
$our_code = $arr_2[0]
$sejchas_smotryat = 1 // делаем отметку, что сейчас смотрят
$i = ARRSIZE($arr_1) // выходим из цикла
END_IF
END_CYC
IF($sejchas_smotryat = 1)
IF(WNDFIND("PACK1") = 0)
KEYSTRING($our_code)
$h = HGET(753,424)
HSETTEXT($h, "PACK1")
WAIT(1)
LCLICK(601,689)
END_IF
ELSE
IF(WNDFIND("PACK1") > 0)
WNDBUMP(WNDFIND("PACK1"))
WAIT(1)
LCLICK(1148,413)
END_IF
END_IF
HALT