The p2pool sharechain and the bitcoin blockchain operate similarly, but independently. I do not believe there is any requirement that a "real" block be accepted into the p2pool sharechain.
What I think you are really concerned about is that the p2pool nodes may see a "real" block and not do their part to get it into the blockchain so that everyone gets paid. On that account you can rest assured.
In the source code, have a look at p2pool/node.py ("GOT BLOCK FROM PEER! Passing to bitcoind!") and p2pool/work.py ("GOT BLOCK FROM MINER! Passing to bitcoind!") Regardless of whether the new bitcoin block ends up in the p2pool sharechain, all nodes who become aware of the block relay it to bitcoind to help get it in the blockchain.
So it's possible you won't get a share in the share chain from it, but the pool will still get it's pay out? That's interesting, I think I had it in my head that the pool would only pay out of the block made it into the share chain. Seems like an improvement that P2Pool could make if it's not currentyly automatically choosing full solves over partial (share-chain) solves, though. – morsecoder – 2015-02-10T04:05:57.963