Version numbers aren't decimal numbers. A lot of Americans especially tend to forget that, due to our use of the dot rather than the comma to separate whole and fractional parts of numbers. (In many/most other parts of the world, "1,000.25" is written "1.000,25".)
20 isn't "too big" for anything, it's just an arbitrary number in an arbitrary range chosen as a reason to increase another arbitrary number.
I'd have preferred the calendar-based numbering (like Ubuntu's) simply because then the numbers mean something logically to lay users and folks who want version numbers to imply _something_ without actually implying anything that Linus doesn't want the version number to do (that is, the 2012.04 release doesn't indicate some major new feature or change from the 2011.10 release, it's just the next version and it happens to be released in 2012 rather than 2011).