Sounds like you're having multiple issues at once.
First, by the sound of it, you've not turned caching off on the shoppingcart/product detail/checkout pages. According to the documentation you should, and that's why you're seeing the mixed up cart/checkout information.
(Page Overview >> Title & Properties >> Advanced options >> set to "No Caching")
IE(9) here on Sitefinity v4.4 doesn't go crazy or ends in a loop. Not even when I set the catalog page to itself. So as a blonde and blunt suggestion, have you tried creating a blank page (no theme/no masterpage widgets)
and toss a shoppingcart widget on there with a default template to verify it's not a custom issue?
That the checkout says you've got nothing in your cart is also due to the caching issue mentioned before.
You can add something like this to delete the cookie
HttpCookie myCookie =
myCookie.Expires = DateTime.Now.AddDays(-1d);
Perhaps in combination with some session variable that you set to determine if we're new or still in the same session. If you are, keep the cookie - when you're not delete it.
But this will leave 'abandoned' shopping carts in your db. So in that case you might want to extend it with something like this:
03. var cartOrder =
Last line will clear out the cookie as well, just to give you the 'official approach'...