I added this after: Or maybe is the argument that... yes you could build a side chain that could confuse nodes up to a certain time, but that side chain will never catch up to the work added to the main chain?
So I suppose now if I am understanding the argument correctly is that.. sure you can alter the timestamps and perhaps make a confusing fork on a PoW coin, but at the end of the day it is going to be pretty much impossible to be able to have a chain that ends with the same level of computation that the main chain has.
On the other hand, using PoS, and supposing that there are no checkpoints... it would be possible to re-mine and restake all the way from the genesis block and and result in a chain that has higher trust than the main chain.
This part is where I have a problem, to achieve the above you need to be able to have a higher difficulty per chain than the main chain.
How do you accomplish this if , even without checkpoints
1. The Main Chain has more coins than you.
2. The Coin has months or years of blocks built up.
3. Coins require time before they can stake again , staking is not a continuous system. This would hamper the attempt.
I don't see how you can build up enough difficulty unless you own all of the coins, and if you do no one else cares what you do with it.
What % of the coins would you need to even attempt this as it seems you would need way more than 51% to reach the genesis block.
Also if you consider this as an issue why don't your coins use a checkpoint server?

1. You get all the premine to yourself, and then create a chain that is longer with more difficulty. If you have all of the possible coins to stake to yourself and have them all competing, you will no doubt be able to create a chain with more trust. Most PoS coins do not have all coins available for staking attempting to stake.
2. You fudge with the timestamps and using some computation build a chain that would appear to have been created over months or years. There is no way of proving that you created a block 1 year ago other than the timestamp of that block.
3. Again you can change your timestamps. Instead of actually waiting for the time to stake, you just adjust your timestamp as if that time passed.
This whole scenario that I can see being feasible would rely on having absolutely no timestamps, as well as having no connections to active nodes. Either one of those two would make the attack not work. I guess all you could do is trick a first time syncer into being on the wrong fork. It doesn't really do anything of significance in my opinion.