the checkout page posts to the confirm page.
all form processing must occur on the confirm page.
this includes the recordset to look up the delivery fee and the set session value behavior.
On your page i see the following problems:
1) The Recordset is on the checkout page, it should be on the confirm page
2) The Set Session Value behavior is on the checkout page, it should be on the confirm page
3) The Set session value code is before the recordset code. the code order is important, the recordset code must be on the page before the session can be set.