Ничего сложного нет. Сначала выгружаем всё, затем делаем выгрузка изменений, и не пишем что остаток больше либо равно 1, будет выгружать все изменения и с остатком 0. Далее вешаемся на обработчики OnBeforeIBlockElementUpdate и OnBeforeIBlockElementAdd и в случае когда количество = 0 тогда деактивируем элемент ACTIVE=N;