don't know to much about the x550 but the 6600GT is defiantly better. unfortunately with most things in life bigger is often better, but that’s not the case here. the 6600GT may only have 128MB compared to the X550's 256MB but the memory of the 6600GT is DDR3 and runs at 1000MHZ. that is twice as quick as the memory of the x550(500MHZ) and as such more than makes up for the difference in size. also the 'core clock' of a 6600GT is quicker meaning it can handle the information at a faster rate. all these things make the 6600GT a far better card and as far as Nvidia cards go you need to be looking at a 6800GT/6800Ultra or a Geforce 7 to get better, and those all cost a lot more money. so don't be fooled by size, speed is more important. another advantage of a Geforce 6 card is they have more modern technology than the x550 allowing it to last longer before it becomes out dated and unsupported by software makers.
and that stuff about the gfx memory having to be the same as the system is false. i assume you may have got it from onboard video cards that use your system memory. but any separate gfx card uses it's own high speed memory. i personally have a 6600GT and can tell you it's a very capable card and certainly gives you some of the best 'bang for your buck', but the price isn't so cheap.
Windows 7, Asus P5Q-E iP45 , Core 2 Duo E8400, 4GB Ballistix DDR2 800MHz, GeForce 9600.