Looking at the cart page, i cant see how this should be working at all.
the main problem with how this is set up is that the text field for entering to the promo code is in it's own form, and that form does not have it's own submit button.
It should not be possible for the promo code to submit at all.
move the text field so that it is in the main cart display form and use the update button as the trigger for setting the session.
the session is also set to use the GET variable, it should be set to use the post variable.