the problem is that the featured recordset is set to ORDER BY RAND() and is limited to 3 records. This means that the records that are in the recordset when the page loads are not the same records that are in the recordset when the add to cart button is pressed.
Create a new recordset as:
SELECT * FROM hb_inventory WHERE featured = 'Y' AND publish = 'Y'
without any filtering and use that one in the bindings for the featured add to cart button.