Solving this issue and gaining serious performance:
After thorough studies in a lab at my university, here's what I've found about this issue on my MBP (C2D 2.2ghz, 4GB ram, GF8600GTm 128MB, 160gb HDD @ 7200rpm): MBPs run very hot, and the firmware instructs the CPU and GPU to temporarily downclock every other second or so when reaching a certain heat to limit the generated heat. For the fraction of a second when they downclock, the computer can't generate images as well so the game skips. That's why the games run fine at first when the computer is cool, but quickly become unplayable. It's basically a design flaw from the MBP: Apple could remove this feature but then the MBPs would be at severe risk of overheating because it can't clear out the heat on its own; not with this thin aluminum body and small fans. Keeping it that way protects your hardware but won't let you use it to its full potential... the different updates try to balance out safety and performance loss, but the problem will always remain because it's inherent to the computer's design. (They also have to deal with battery issues, but we'll assume that you don't care much about gaming performance when you're not plugged into the wall.)
As far as solutions go, you could hack the Apple firmware and remove this, but it would not only ruin your warranty, it would greatly endanger your computer. So your only safe option is to externally cool down the CPU and the GPU so the firmware won't have to downclock them to prevent overheating.
Personally, and since I use my MBP as both my main and my gaming computer, here's my setup:
First part: I have two 12cm fans blowing cold air on the CPU and GPU at all times. To help you with placement: if you look at the keyboard from the top, one chip is under the / button and one is under the 6. If you blow air directly on them at all times, they will NEVER overheat and thus never downclock under normal operation. You'll also notice a significant performance boost because they operate cooler thus more efficiently. If you're looking for serious gaming performance tweaks though, read on...
Second part: I like to dig more out of my machine, so for gaming (under Windows naturally), I'm using a modified Forceware 167.45. Supercache uses 1GB of my ram to give to the video card, so I have a total of 1.128gb of VRAM. With Rivatuner, I'm clocking my CPU at 2.6ghz, my GPU at 650mhz and my VRAM at 1050mhz which is the most I've found it safe to overclock. This all amounts to terrific gaming performance, but terrific heat too. With this setup, I had to build an extra external cooling device...
To safely use my overclocking setup, my computer rests on a piece of aluminum under which runs copper tubing through which I send regular car coolant. There's also a piece of cloth to protect the computer from the possible condensation, and underlying fans are built into the tubing, drafting air from a cold area though holes into the aluminum onto the CPU and GPU. I have a pump that circulates the prestone in the tubing under the computer from a 2L tank. Once it's out from under the computer, I have a 40cm x 40cm intercooler built on a 30cm industrial fan that cools down the prestone and sends it back in the tank. The whole liquid cooling system cost me about 70$ and took me about a week to build. You can email me if you want pictures and/or plans on how to build it.
With all this work, I've made this 2500$ laptop into a machine as powerful as my old desktop (C2D E6600 @ 2.66ghz, 4GB ram, GF8800 Ultra), but it's not for everyone and you have to make sure to remove the overclocks when you take it off its cooling system.