Blocks can have an older timestamp than its previous block.
One example is this :
http://blockchain.info/block-height/171759 Timestamp 2012-03-18 19:31:32
http://blockchain.info/block-height/171760 Timestamp 2012-03-18 19:31:30
How much older can timestamp be?
If someone generates the last block of a difficulty with a timestamp of the first block of that difficulty plus 10 minutes the difficulty would get 2016 times as high.
If he adds less it would become even harder.
For this attack you don't need anything like 51%, just x% power of the network gives x% chance to do it, so in theory everybody can success with enough luck.