Hi Anthony Hidalgo I've been testing several different permutations of Smart Cart + our gifting options.
Question(s) for you: were you using our Tiered Progress Bar, baked into Smart Cart settings? Or our general Gift With Purchase widget?
For Tiered Progress bar, it does appear that any change (swapping carts, removing tiers, changing tiers) does update when/if the gift still applies. Meaning if you were to change carts, for example, after your sale, a gift that was once achieved on your sale cart, would be 'removed' automatically. The only caveat here is if the customer had already entered checkout and kept their checkout session live the entire time. Since Shopify's checkout does not allow for any injection of JS (or anything really), their checkout would remain crystallized with the gift they achieved at an earlier time/date. This is unfortunately a Shopify limitation.
However, if you were using our GWP widget, there is potential for a separate outcome. If an item was added via our GWP widget during your sale window, and then disabled once the window ended, items added via the widget (during the window) would persist in-cart (any cart, whether that be Smart Cart or native Shopify /cart page). This is due to the widget requiring it to 'not match' a data source rule to remove said items. When the widget is disabled, it is no longer looking for our data source rules nor firing JS (to remove items). This is why we recommend James' solution above for sales windows (another option is simply deleting the data source rule while keeping the GWP live). Having said that, I completely understand the intent in this case (for GWP widgets to simply stop working, stop matching, remove any gifts, and render the deal ineffective) and will work to improve visibility in-admin for that pitfall.