Amasty Promo compatibility issues with Fooman Surcharge
As per customer
It's getting more and more likely that the fault lies within Amasty, and your extension just happens to trigger their flaws.
They seem to have an aroundCollectAddressTotals plugin where they look through every quote item on the QuoteAddress. Inside this they call their own function named "updateQuoteItems"
In this function they loop over the quote items again. When the code goes through this function, it removes the quoteItem because of a flaw in their code.