I don't know if coin switching alone will account for the rejects. From what I have seen, when the coin changes, cgminer simply discards the work it was doing, and doesn't count it as a reject.
Rejects tend to occur when the work is received too late. I find that this happens most often when mining very "fast" coins. Mining litecoin, which has a 2.5 minute block time, I get about 3% rejects, mining DOGE with a 1 minute block, I get about 4%, for something like casinocoin with a 30 sec block, I get about 7%, and for something like fastcoin, I get over 20% rejects. A slow or laggy internet connection (e.g. a 3G connection, which frequently has a ping time in the 2000 ms range) can make this problem a lot worse.
The same problem can occur when a huge pool switches onto a small coin, and the block rates go way out of spec before the difficulty readjusts.
I haven't noticed middlecoin mining any very fast or very small coins. At the moment its flip-flopping between litecoin, dogecoin and megacoin every few seconds, but I'm not getting more rejects that I normally get. However, my miners keep failing over onto the EU server several times per hour, presumably because there are too many coin switches and disconnects.
Thank you for the quick answer, Test User. It just seems strange all my numbers across three machines are so out of whack from where they were six days ago (and only on middle coin servers). H20, forgive me if you have already addressed this problem previously, but is this an issue your server upgrades are going to address?