Although there is still one phenomenon I cannot explain. I have a HD 7950 and a HD 5830. The HD 7950 consistently gets 2-5% rejects, while the HD 5830 gets 6-12% rejects, even if I set clock and intensity on the HD 7950 such that the hashrates are equal, so it isn't dependent on hash rates.
I'm guessing that older cards have more latency. So to predict your rejection rate, you'd need to add up the ping to middlecoin.com, plus whatever latency is associated with your GPU.
That does seem to be the most reasonable conclusion. It's hard to imagine that the latency between the GPU and CGMiner is measurable compared to internet latency, but I'm no hardware expert.
[Edit] If that's true, then you'd think everyone running a 5830 would get similar results. Anyone else with an older card experiencing the same thing compared to a newer card?