My theory is that it is impossible to create an objective decentralized time-stamp server without a tether to the physical world.
CPoS has plenty of physical grounding in its timestamping.
In what way is CPoS tethered to external objective reality? I can only see a tether to the subjective reality of the current and past stake holders.
Anyhow, the obvious solution is to disallow rollbacks. Doesn't really matter how you get there.
Do you mean make orphans impossible? I think the only way orphans can be eliminated is if all the blocks are correct. And the only way all the blocks can be assumed to be correct is if the participants are assumed to be honest. But if the participants are honest, you don't need PoW or PoS: you just trust by default.
You could also say, "OK, let's allow orphans, but only a certain way back." But if you do this, then you need checkpoints. And if you use checkpoints, who decides what checkpoints to use?
So I don't think such a system can be Byzantine robust.
Anyhow, I should read more about PoS before I make myself look even more foolish than I usually do.
I would suggest starting with this thread:
https://bitcointalk.org/index.php?topic=615843.msg6751334#msg6751334.
Essentially, CPoS has a single nomadic mint agent that periodically moves its state from one full node to the next. The single mint canonically timestamps each directly received new transaction and broadcasts an acknowledgement to the network. There is a thus a single blockchain appended to by the mint's slaved bitcoind instance, and the remaining full nodes replicate their own version of the blockchain to verify the mint agent's behavior.