Just on the off chance, are you using the latest version of p2pool?
Saturation should never be a problem with p2pool - it uses minimal bandwidth, almost nothing. How many connections does your bitcoind have? I restrict mine to 14 to keep bandwidth down - I also use QOS for prioritizing traffic on ports 9332,9333,8332 & 8333.
That would have been my question as well, but using a version earlier than 14 would result in no shares submitted at all, and hence no expected or actual payouts. To be honest, I've never seen the behavior Richy_T is reporting here. Yes, I've seen shares drop off the chain; however, it is in proportion to when they were added. For example, if I suddenly start mining with 1PH/s, I would see a very rapid increase in the number of shares I have on the chain, and then when I stopped, they would drop off at the same rate.
My calculated expected payouts provided by the node have always been spot on (give or take a few satoshi). My actual payouts reflect the node's expectations.
I wish I had some better news or a solution I could offer, but unfortunately I'm at a loss, too.