Необходимо внести правки в обработчик и в скрипт импорта. Примерно, как описано [URL=https://dev.1c-bitrix.ru/community/blogs/vws/looping-event-handlers.php]здесь[/URL]
1. В обработчике нет подключения модуля sale. 2. Приведенный Вами код (если он полон), не несет никакой пользы, а лишь добавляет нагрузку. Подозреваю, что это очередная реализация смены типа цен на основе данных корзины. Для выгрузки в Яндекс она скорее всего не нужна, лучше ее отключать.
1. Создавайте купоны в момент создания скидки - в форме редактирвания для этого есть все возможности. 2. Раз сброс кеша не помогает - Вы уверены, что используете штатный функционал? Версия модуля catalog? Какими компонентами выводите товары?