Вам нужно массово обновить поля у элементов?
Не понятно зачем использовать (и как умудрились) событие OnAfterIBlockElementUpdate
--
Вот пример как обновить
массово только одно свойства, не затерев другие, одним запросом (выполнением кода, т.е. одним обновлением страницы)
<?
$ELEMENT_ID = array( 2, 3, 600, 543, 343, 34, 666, 23);
$PROPERTY_CODE = "PROP1" ; // код свойства
$PROPERTY_VALUE = "Синий" ; // значение свойства
foreach($ELEMENT_ID as $kel):
// Установим новое значение для данного свойства данного элемента
CIBlockElement::SetPropertyValuesEx( $kel , false , array ( $PROPERTY_CODE => $PROPERTY_VALUE ));
endforeach;
?>
В вашем случае нужно обновить не свойство Property, а поле "SORT" => "ASC",
получить для массива список id можно через getlist
А вообще на маркете был модуль, платный с тестовым периодом на 7 дней. Это хватит для выполнения вашей задачи.