Actually, you'd be better to delete the cart contents at login. That would require adding $_SESSION['cart']->reset(true); in appropriate places.
However ...
Zen Cart can be configured to not-allow-checkout if out-of-stock products are in the customer's cart. You can control those settings in Admin->Configuration->Stock
Additionally, the upcoming v1.3.8 has an option to display a "your previous shopping session cart contents have been restored ... please review before checkout" message, as mentioned here:
http://www.zen-cart.com/forum/showthread.php?t=68254
Bookmarks