Some very minor plot holes that I rememebred on second thought - not enough to spoil it, but there nevertheless.
1. The one guy sneezing. Why? We assumed it would be a way of telling the real from the ganger, but it was never actually used for anything. You don't usually put random stuff like that in a script if it's not meant to do something.
2. The escape shuttle. The gangers convinced them they were the real ones, and that the real ones were gangers and were already dead. But then they never made it to either the roof or the courtyard, and they all escaped via the Tardis, and no further mention was made of whether the shuttle was still hanging around waiting for them.
I couldn't understand some dialogue
-When the doctor and one of the workers are talking
Worker-You're not *Something*?
The Doctor-Oh earth yes
Work- Well seeing as earth is all that's on...
Cleaves had her headache. The Doctor seemd to intuitively know that it was a blood clot. She said, "Inoperable?" He said, "On Earth, yes." Which led her to realise he wasn't from Earth, and wasn't a weather inspector like he claimed to be at the beginning.
What about when the Silence had her in "Day of the Moon?" That was the only other time I can think of where she was separated from everyone.
No, because as has already been pointed out, she saw the Eye Patch Lady before she was kidnapped by the Silence. So whoever has her already had her before that.
No, the options are pretty much either before the entire season began, or during the missing three months in DotM.
ETA: Just watched
Confidential, and one of the producers says that FakeAmy has been wandering around since episode 1, over a clip of Amy and Rory arriving in Utah. Assuming that can be taken as within-show truth, then Amy was replaced before the season even started.
The DoctorGanger could still be the Doctor that we saw die. He could have reformed himself after the incident at the plant or something; maybe the part of the Flesh that he was survived or even Flesh-regenerated.
Ganger Doctor did have a line suggesting that maybe there'd be some way to come back from it, and that they's just have to see how it went. So it leaves a tiny if unlikely window available for him to come back.
ETA: Just watched
Confidential, and the writer bloke specifically says that he didn't kill a real person, just cut the cord to the real person, so no-one was killed. Again, it's questionable as to whether the writer's intention actually came across on the screen.
No, she told the real Doctor. They swapped shoes and the real Doctor was pretending to be the Ganger Doctor all along. He said so at the end, plus the way he said "But we aren't invited to this one" at the end.
It took me a while to figure it out, but the moment when they changed shoes was when the two Doctors were bobbing up and down behind the console, claiming to be fixing the power on the machine, but we couldn't actually see what they were doing. It's the moment when the Doctors realized that Amy thought of them differently, so probably when they came up with the idea to fake her out.