Q:

Why INT_MAX and not UINT_MAX before switching to 64-bit ints?

Why does everyone say that Google will have to shift from 32- to 64-bit architecture (with 8-byte ints) now that Gangnam Style has surpassed the INT_MAX limit? Why not use an unsigned int from the beginning, since it doesn't make sense to think about negative views for a counter?

A:

Google's style guide to C++ encourages int over unsigned.

You should not use the unsigned integer types such as uint32_t, unless there is a valid reason such as representing a bit pattern rather than a number, or you need defined overflow modulo 2^N. In particular, do not use unsigned types to say a number will never be negative. Instead, use assertions for this.

Thus does make sense, as there are far more videos with near 0 views than videos with near 2^31-1 views: it took years to reach the zone where int32_t behaves differently than a real integer, while every youtube post starts near the zone of the other case.
A failure in unsigned would (given exponential growth) not take that much longer either.  What worse is that if it interacts with 32 bit signed elsewhere in the codebase it will trigger undefined bejaviour pretty easily (overflow behaviour is undefined).

