An example of the cufon breaking is when I add a product to my cart,
example here http://joemeetsjoy.com/products
When you click buy now then click ok on the pop up box the cufon breaks. It also happens if you go the the shopping cart and choose a shipping option.
Any ideas why this happens?
I ran a Cufon.refresh() call, which restored the Cufon (running Chrome 15 on Mac) after clicking the "Buy Now" button (which did, as you say, "break the Cufon").
You may want to consider altering the behavior of the onClick handler of that button to run this function. A DOM update or reflow might be causing the Cufon to break as I noticed the onClick handler makes an AJAX call.