Shipping handlers are made or installed by you. So what they exactly do is something only you know. It might be that you want them to be triggered immediately or at the confirm order, depending on your specific case. The first needs a tiny hack though.
Shipping costs in your basket might show up, check your basket.tpl
What you're describing, sounds like either your basket.tpl isn't what you'd like it to be either you've gone to the confirm order, went back to your shopping basket and tadaa, default template will show shipping == 0, because $shipping_info is_set.