I find it irritating that there's no way to force an update in Chrome other than clicking on the wrench icon-->Options-->Under the Hood-->Clear browsing data...-->Empty the cache->Clear browsing data. I used to imagine I was forcing an update by shift-clicking the refresh button, but now I know I was only fooling myself.
Are you sure? I was testing this a couple of weeks ago. Shift-clicking refresh causes a forced resend in Chrome for our app. We don't use if-modified-since but we do use if-none-match, and Chrome definitely doesn't send it in that case. (But IE6 and IE7 do.)
The question misses one point - a full (no-cache) refresh in Firefox is done with Ctrl+Shift+R. Most (if not all) browsers support Ctrl+r for refreshing the page as well, but i'm not sure what headers are sent in each one.
As an aside, F5 in Firefox 3+ has a long-standing bug with iframes: the new iframe src= in the DOM structure is ignored, and Firefox makes a request to an older iframe src=. This also happens after session recovery. Another bug claims that iframe targets are sometimes mixed up, which implies some broken internal cache.