Ок, наконец-то нашел обходной путь:
\ app \ code \ core \ mage \ checkout \ model \ cart.php Строка 383 - 386
изменение:
$item->setQty($qty);
if ($item->getHasError()) {
Mage::throwException($item->getMessage());
}
до:
$oldqty = $item->getQty();
$item->setQty($qty);
if ($item->getHasError() && $qty > $oldqty) {
Mage::throwException($item->getMessage());
}
Теперь он проверяет, меньше ли новое количество, чем старое. Если так, продолжайте. В противном случае сделайте старое поведение.