I have to agree with peterdiva and cyrax.
The fact that you have 512MB of available memory on a card
of that price range means nothing - you will just throw money away.
512MB means nothing, as the GPU itself is too slow and will not
efficiently utilize it (GPU for that price range). There are only a
few games today where you are going to see an advantage going
from 256 to 512MB, but thats only when they're running at
highest details, and when running them at highest details, they'll still
chugg like hell, cause the GPU (in that price range) cant process that much vertices/do pixel shading/texturing per clock.
So my recommendation is 256MB of memory, the current sweetspot, as going down to 128MB you're definately going to take a hit that is too high.
As the X700 is 144$, I'm guessing you can go to 150$.
So I'm recommending X800GTO, they currently have 3 or 4 at newegg for under 150$, it'll blow 6600GT away.
If you can go up to 200$, its 6800 GS, all the way.
My sincere recommendation - get one of the 6800 GS from newegg.
That thing packs quite a punch for its price. I know its ~50$ more than the X700 you linked to, but it blows that sucker away, plain and simple. It even has SM 3.0, so you'll be more future proof.
Try to get that 50$ extra, and get the GS!
You'll never look back on that X700!