Work is not lost using p2pool, those stale p2pool shares can still solve a block and still be submitted to the bitcoin network for reward. The time and work invested in them is not lost. Those shares just don't show up in the p2pool sharechain, but will show up in the bitcoin blockchain.
Doesn't a winning (bitcoin) block not override the share chain? Otherwise, that block couldn't actually be paid (by the share-chain)