first thing i would check is to make sure that the code for the recordset is before the set session value code.
I would then echo the sessions to the cart page to make sure they are being set:
echo("promo code: ".$_SESSION["PromoCode"]."<br />");
echo("promo amount: ".$_SESSION["PromoAmount"]."<br />");
if your still having a problem, please send a copy of your page in a zip archive so I can look at the code.