I'm not 100% sure if this works in every situation, but frustration just as you've been having has lead me to throw every meta tag I can behind the problem all at once. I'm using PHP, so I'm letting it populate the contents of the meta tags with a date 24 hours prior to current time.
<!-- Prevent Caching of this Page --> <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" /> <meta http-equiv="Pragma" content="no-cache" /> <meta http-equiv="Expires" content="<?php echo gmdate('D, d M Y H:i:s', time()-86400) . ' GMT' ?>" /> <meta http-equiv="last-modified" content="<?php echo gmdate('D, d M Y H:i:s', time()-86400) . ' GMT' ?>" />
Through googling, I'd found out that setting the 'Expires' http-equiv to '0' doesn't work in all situations and it's best to have a valid date that's in the past.
I sincerely hope this is good advice, and if it isn't, someone please correct me so I can update my own practices over here.