Yes, that is always a problem. Like Hobo essentially said, players who metagame need to be punished. Severely.I don't really want my players rolling spot checks. Why? It alerts them that something is there or might be there.
When I start a new group I always give them one encounter that's a non-encounter. For example, in one world I've run several times, the PCs are walking down a road. I ask for their Spot info (I roll most Spots, etc.) and tell them they don't see anything. Invariably, they pull out weapons, ready spells, etc. The thing is there's NO encounter. They usually get the message. (One group wasted an hour before they realized there was no encounter.)
You are suffering from a common fallacy of most new DMs. You do not give a Spot/Listen check at the earliest opportunity. Instead, you give a Spot/Listen check and adjust the encounter according to the roll(s). Refer to p.22 of the DMG. Also, if you have a 3.0 look at chapter 3 in it.So...I want to figure a way around that.
If the PCs roll well, then they see the ambush before they walk into it. "You see a guy 100' off pissing in the bushes, he finishes and skulks over to hide behind a tree."
If they roll just good enough, then they may be in the trap but aren't ambushed (no surprise round). "Just as you start walking between two low hills, you notice some pebbles come trickling down. What do you do?"
If they roll kind of poorly, then they are in the trap and get hit with a surprise round. "As you walk between two low hills, a couple of orcs pop up and start firing."
If they roll very badly, then they are in the trap at the absolute worst possible time. "As you walk between two low hills, twenty orcs pop up and start firing. Apparently, no one heard the orc Cleric who was chanting either."
Specifically, this is what I do:
1) Every party must have a default marching order. They should have one for 5' wide, 10' wide and open field (usually the 10' wide).
2) Constantly trying to be aware of your surroundings is fatiguing. If players attempt that, after a bit of time I fatigue them*. If they continue they start taking subdual damage and start 'seeing' and 'hearing' things that aren't there.
3) The party rolls Spot(s). I usually only allow the closest PCs to the encounter to make a check. If everyone can make a check I allow a single party roll.
4) As above, I adjust where the encounter occurs according to their spot(s). Players locations on the map are based on their current marching order (or default if no current).
*Note: The Quick Reconnoiter Feat provides a free Spot and Listen every round. I treat this as a sixth sense about danger rather than a constant attempt to be aware.
Nothing says the Taking 20 actually occurs after 20 rounds. So what I do is give them a description based on the overall roll over the course of time.Second, your Taking 20 example brings up another issue that can be hard to handle. The Taking 20 result occurs after two minutes, and it is successful. But, the gobbies, seeing the human stair their way, decide to launch the attack after the human has stared their way for only 30 seconds.
"You've rolled a 32? Okay, at first you don't see anything but a lone goblin. Then three rounds later you see him motioning to another goblin. That guy leaves hurriedly and the first goblin starts to rummage around on the ground. It looks like he's picking up a weapon ..."
At any time, my players know to say "Wait!" and the encounter would begin at that point.