Honestly, without looking at the code, this sounds like it's begging to be exploited as an attack vector.
Gotta keep that FUD machine well oiled, enh?
It's fine. It validates the header, and if its correct and ahead of the local node it builds on that instead until the local node catches up. An attacker would need to burn a block just to make p2pool nodes burn less than a block. They'll, of course, stop skipping when their local node advances down another path.
In the future p2pool nodes could watch for the local node to reject a block and then reject it themselves to further narrow things, but I don't see an issue currently. There are other more effective attacks available.