Here’s my guess as to what’s happening… You have some JS for setting #c2 and .widget to be equal height. This code is inside a $(document).ready() function. But jQuery’s “ready” function tries to execute as quickly as it can–as soon as the DOM is loaded (it doesn’t wait for external resources, like images). So when the user first visits your site, it takes a little longer to first load those images, and jQuery notices that the DOM is finished loading waaay before the images are done. It runs your “equal height” script; when the images do finally finish and show up, they push everything in that column down.
This would explain why it only happens when the user first visits the page: On subsequent visits, the images are in the cache and can be loaded instantly.
But I have no idea if this is actually what’s happening. The fact that it only happens in Chrome is distressing.
Easy enough to check, though! If I’m right about what’s going on, then the fix would be to have your “equal height” script run when the window is loaded, rather than when the document is ready:
$(window).load will wait for the entire page to finish loading. Images, frames, video, flash… everything. A lot of the time, you don’t really care about that stuff. Usually, your script only needs to wait for particular DOM elements to be available. That’s when you would use $(document).ready.