Why are there two byte sizes for timestamps in the Bitcoin protocol?
This was discussed in the mailing list a while back:
http://sourceforge.net/mailarchive/message.php?msg_id=30824341

I'm guessing 32-bit timestamp was used by Satoshi in the original client and the 64-bit timestamp was introduced later to avoid timestamp overflow.

We may need to change (hardfork) the old 32-bit timestamp fields to 64-bit at some point. See https://en.bitcoin.it/wiki/Hardfork_Wishlist