Ok...here is the cause/solution for anyone else that might have the same problem....
What was happening on the home page was caused by the images in the center column boxes - New Products for... Featured products, Monthly Specials.
They're randomised aren't they!! Every now and then it was picking out say images that were 145px wide and if one of the rows had 3 of them then it forced the template wider on that refresh.
Everything on the template that wasn't a fixed width would shuffle over to try and catch the template width up.
What I've done is made those boxes 3 columns wide instead of 4 so the columns have more room now to display the wider images.
With 4 columns it was becoming a little cramped for the images that were 145px width. It was fine with the 120px width.