Delicate problem this one. On one hand a user have supplied information that enables you to display shipping cost. On the other hand, the user is moving backward in a process, possibly seeing information (shipping cost) that wasn’t there on the last visit. The same goes for a user having an account where she has provided shipping details, which would enable you to show the information on the first page. However, you don’t know for sure in the check-out process that this information won’t be changed. A registered user could change the shipping address on this particular delivery because it’s a gift to an aunt or a shipment to another office. You don’t know.
So my recommendation would be to stick to a forward phasing process, only displaying shipping cost when you actually know where to ship. You keep the process clean, predictable and don’t confuse user with additional information based on the following screen. Making user confused in a check-out process is a very bad idea.