The 8800GTS 512 was a totally different configuration than the 640. Just because they were able to tweak the core so they could sell a higher speced version of it at a lower price doesn't mean it was a significant change in technology. The fact that they didn't release anything new meant that they were able to tweak their core for maximum performance for the yield.
It's still nothing new. If they wanted to, they could have tied 64 G70s together back in '05 and gotten awesome performance. For yield and cost reasons alone it makes sense that we should move away from one giant uber GPU to more smaller ones, but we need to move toward more GPUs integrated onto one card, sharing memory.
For CPUs, the future is more cores. If AMD or Intel had just started making two or four socket mobos and said, "Progress lolz!" they would have been laughed out of town. (Actualy AMD did, and they were.)
The point is, what ever direction we go in, we need to continue to innovate in order to make feasible progress. Putting a PCI-E splitter on two cards will not take the place of real innovation, and is not the same thing as real progress. Devising a way to put more GPUs on one PCB sharing VRAM, well that's a whole other story.
The bottom line is, innovation has been slowed down by lack of competition from ATI, hence the slump. How long did the 8800GTS cost 300$? A heck of a lot longer than if ATI had had something competitive.