In the nVersion bits proposal that I co-authored we solved that issue by
comparing the timestamp against the median time, which is guaranteed by
the protocol rules to monotonically advance.

I'm also a fan of using the median time to ensure that there is a clear point where the protocol change starts. Something like "blocks only allow the larger block size if the associate pindex has pindex->GetMedianTimePast() after midnight 11 Jan 2016 and where a supermajority showing support for the fork has previously been reached".