1) Не забывайте про то что ключи массивов это строки. $arProps[TSENA_ZA_KG][VALUE] -> $arProps["TSENA_ZA_KG"]["VALUE"]
2) У Вас вот тут ерунда написана.:
$arFields = array("PRICE_FILTER" => $newval);// зарезервированное количество
CCatalogProduct::Update($arFields["ID"], $arFields);
CCatalogProduct::Update - Это метод из модуля Catalog, который обновляет параметры товара (b_catalog_product), а не элемента инфоблока.
Вы в этот метод передаете не существующее поле "PRICE_FILTER". Скорее всего у вас отключен вывод ошибок PHP и когда происходит ошибка, у вас прекращается дальнейшее выполнение скрипта без вывода какой либо информации на экран.
3) Как уже написали, в CIblockElement::GetList задан параметр "nPageSize"=>50. Из за него будет выбрано только 50 элементов.