2) Did the bad luck start around the time of all the backend pool changes and rollout of scrypt guild?
3) There also have been cases of pool users being re-directed to other pools via man-in-the-middle attacks recently, so perhaps some attackers figured out how to steal a small number of solved blocks for themselves.
We're all just speculating here, and the only one that can really look into this and know for sure is eleuthria.
1) Dupe work is impossible. Every share you've submitted for the current block is held in memory and compared against to determine if you've submitted a dupe. It can't be done across multiple accounts because each account has an independent ExtraNonce1, making work for one account not valid for another.
1b) As stan258 mentioned, 50BTC had a problem with over-crediting work. That's because they completely screwed up user definable difficulty and didn't realize the most obvious exploit available for doing that.
2) There have been no backend changes for ScryptGuild. There have been no changes to the backends period in the last 9 months. 6 of those months were positive on luck. The last 2 were not. The 9th month isn't available since luck only started being tracked across multiple difficulties 8 months ago (prior to that it only showed the most recent shifts of the current difficulty).
3) The MITM attacks are not MITM. They're a flaw at the end user, clearly identified by the fact that the same users get hit repeatedly on multiple pools, even though the vast majority of users are never hit. However, assuming it was a MITM, it would not be possible to steal a block for yourself. A hash/share is only valid if it pays to the pool wallet. If you try to change the destination the work is immediately worthless because it will not produce the same result on a different payment address.
This is not an isolated incident. Eligius has had low luck in the last 3 months as well, which is roughly when Guild's luck took a turn for the worse. So is p2pool, though they're so small it's very hard to call a line between normal variance and abnormal when comparing it to Eligius/BTC Guild which are significantly larger. Most of the long term pools (BTC Guild, Eligius, BitMinter, Ozcoin, triplemining) have operators which communicate regularly, and we have been discussing this recent swing in downward luck. This isn't something I'm brushing off or ignoring, but it's also completely out of my control, thus the anger/short temper when it comes to people bitching about it. It may be a problem in firmware/hardware of ASICs which have been released in the last few months. It may be a coincidence. It may be an actual withholding attack in the wild, though this is unlikely because doing a withholding attack on a fee-charging PPLNS pool makes no economic sense. You'd essentially be paying a fee twice, because you lose income from the pool fee *and* even more income in the form of withholding blocks from the pool.
One thing it isn't, without any doubt, is a backend problem. There has been only one change to the backend in the last 8 months that even brushes against the share processing. That change was updating how it stores difficulty (moving from a 32-bit integer to a double). This doesn't actually affect how the server treats the share though, it's purely a display value used in internal reporting. Aside from that, the share processing side of BTC Guild has been untouched since the day stratum was launched.