Merci pour ton retour @Mediacom87, j'ai essayé de passer un new_cart->update(); après ma boucle mais le résultat reste malheureusement le même.
J'ai également tenté de vider tous les caches après l'update() mais rien n'y fait la règle du panier persiste et j'ai vérifié en BDD et la liaison sur la table "cart_cart_rule" reste présente malgré mes efforts.
Je me demande si Prestashop peut empêcher la suppression de certains éléments comme les règles de panier, je sais que c'est vrai pour les Commandes qui ne peuvent être supprimés.
Ce serait étonnant mais bon ...