I think you need to do some debugging. Display it several places during the checkout process... maybe it is updated at the last minute before checkout and that is why it is not set when you get to the success page. What is the trigger you are using for the shipping calculation on the confirm page?