Да причиной этого является то, что Storage не обновляет данные, никаким образом их не связывает с перехватчиками событий. Могли бы хотя бы сделать адекватный метод refresh у Storage, который запросит новое состояние корзины, а не возьмет предидущее
Решил вопрос наследованием от CBitrixBasketComponent и переопределением метода getBasketItemsArray и refreshAndCorrectRatio где данные взял не из Storage , а сделал новый запрос к базе.
Решил вопрос наследованием от CBitrixBasketComponent и переопределением метода getBasketItemsArray и refreshAndCorrectRatio где данные взял не из Storage , а сделал новый запрос к базе.