If lowwering the resolution improves the framerate, then upgrading the video card would help.
If the game gets the same framerate at a lowwer resolution than at the resolution you like to play at, then the problem would be CPU limmited, and a CPU upgrade would be in order.
That being said, a e6600 should handle every game out with no problems at all. (I still use an old socket 939 x2 4000+ and the only game that I've tried where the CPU can't keep up is Supreme Commander.) 8800GTS 640 is still a very decent card, and while you may not be able to play every game with everything maxed out at 1920x1200, you should still be able to play everything at that resolution (with some sacrifices to quality settings.)
If you blow the money on a card now, you may regret it when new cards come out depending on how they are priced, and what happens to the 9800gx2 pricing.
If I was in a position where I had plenty of budget and nothing better to spend my money on, I would buy the video card.