Начать с понимания, у каких клиентов это происходит - регистрированных или не регистрированных.Куда копать, подскажите!
Вся работа с корзиной у них организована совершенно по разному.
У не регистрированных корзина хранится в переменных сессси.
У регистрированных в SQL-таблице.
Скорее всего, у Вас это происходит только с не регистрированными клиентами, т.к. вариантов потерять данные при хранении в сессии куда больше, чем при хранении в таблице.