Do checkpoints in the block chain help to avoid a 51% attack that rewrites the entire blockchain?
Checkpoints are features of certain clients, not inherent to the blockchain itself. So, if an attacker did re-write the chain all the way back to a popular checkpoint, he could maybe get the network to disagree. Some would go with the 'chain with most work wins' approach, and some would go with the 'chain that meets my checkpoints with the most work' rule. 

Checkpoints do not inherently help prevent a 51% attack though. In fact, their usefulness is predicated on the assumption that a 51% attack all the way back to a checkpoint will never happen. For example, some clients skip ECDSA verification for anything older than a certain checkpoint, so it's useful to have these checkpoints because initial-block-download syncing will be faster.