OK, so forrestv has made some changes, but I don't see any recent changes, or even any discussion of changes in the pipeline. I'm thinking he's sitting somewhere with fingers in ears singing "la la la la" in a loud voice. I'm willing to be proven wrong.
Looks like you re missing ROOT of the trouble. As one and only DECENTRALIZED pool P2pool has to manage some way to keep track of work done by miners and calculate payout in way, that cannot be forged, stolen or broken in any way. Bitcoin block chain is the way. P2pool is using 30 seconds blocks (shares) to keep track of work done by miners and allow every node to correctly calculate payout to all miners in SAME way. This is why we have LP/WR signal every 30s. In "normal" (centralized) pools this is done on one machine and LP is only on block change in bitcoin network - about every ~10 minutes.
So miner that is trying to mine on P2pool and freezing for ~10s every LP is "missing" ~30% of time. Miner that need ~10s to compute one WU and is also ignoring LP has 30% doa.
This is NOT P2pool fault but badly coded/designed miners. LP spec is there like 2 years now, so I not see ANY explanation for miner designers that they NOT implementing it in proper way.
Same is for stratum and vardiff that IS implemented in P2pool. If miner is NOT using it why blame pool?