It appears as though it should work from your description.
Try displaying the session variable value to make sure that it is set properly. Maybe try removing the other conditions and getting them to work one at a time.
First use:
triggers:
total number of items > 0
once that works add:
triggers:
total number of items > 0
if session variable txtPromoCode = october2009
and so on and so forth... that will help you narrow down what exactly isn't working.