[quote]fastcgi_no_cache $http_cache_bypass; # do no cache at all
fastcgi_cache_bypass $http_cache_bypass; # bypass cache <--- Not sure how you get the user's browser to send this header[/quote]
On each page I would have an AJAX call to a very small PHP script that checks for the cache version number and makes a GET (or HEAD) request with Cache-Bypass header if the page needs to be regenerated.
The idea is similar to the one described here:
http://konstruktors.com/blog/wordpress/2521-ajax-cache-purge-cookie-plugin/
But instead of using a version number for cache key (set by a cookie), I would use it for cache invalidation.