On Magento 1, I'm having an issue where the quote and quote item error messages is not persistent.
$item->addErrorInfo('cataloginventory', Mage_CatalogInventory_Helper_Data::ERROR_QTY, $message);
The above code is fine for set the status in that request. However, as soon as another request hit, the error message is not there any more e.g.
$quote->getErrors() returns empty array.
I've tried to do
$quote->save() as well as
$quoteItem->save() but I don't think that's the reason.