Основная идея, сделать условия так, чтобы когда в корзине присутствует товар, который предлагается в подарок в количестве больше одного - подарка не было
Решение:
Ставим два условия - когда товар есть в корзине, но стоимость позиции не превышает стоимость товара (ИЛИ если несколько товаров - но берем максимальную цену (если есть товар цена которого меньше установленной более чем в 2 раза - надо делать отдельно условие)) ИЛИ товара в корзине нет.
Соответственно подарок предоставится, когда либо товара нет в корзине, либо есть и он один (собственно - подарок), если товара два и более битрикс начинает глючить - будет позиция с двумя товарами без подарка и предоставиться к добавлению подарок, данную ситуацию мы и обыгрываем - стоимость позиции будет превышать заданную.