In fact, it is far from true.
http://bitcointalk.org/index.php?topic=441.msg4586#msg4586Apparently timestamps for newly generated blocks can even have timestamps prior to the last block generated.
Snippets of data extracted from blk0001.dat
69273 1279655546 779734388429
69274 1279655947 779734388429
69275 1279655761 779734388429
69276 1279656675 779734388429
69246 1279640200 779734388429
69247 1279640882 779734388429
69248 1279640415 779734388429
69249 1279642645 779734388429
69239 1279638523 779734388429
69240 1279639005 779734388429
69241 1279638976 779734388429
69242 1279639437 779734388429
69037 1279540630 779734388429
69038 1279541270 779734388429
69039 1279541269 779734388429
69040 1279541367 779734388429
And here's a more interesting example.
Block 68,462 has timestamp before 68,461 but not before 68,460
Block 68,463 has timestamp before 68,462 AND 68,461
However, block 68,464 corrects things by having a timestamp after all previous blocks.
68458 1279287594 194933597107
68459 1279287774 194933597107
68460 1279287998 194933597107
68461 1279288077 194933597107
68462 1279288037 194933597107
68463 1279287679 194933597107
68464 1279288393 194933597107
Perhaps in theory it could be possible that a timestamp is assigned to a block that predates all other blocks, even the first one?