Yes, what you are saying is generally true for BOTH ATi and nVidia, though family does matter sometimes. For instance, a HD 4670 has an edge on an HD 3850. Ideally, the mid level card of a new generation should match the top level card of the previous one. However, nVidia renames cards constantly. For instance, an 8800gt is a slower version of an 8800gts (512mb version, the 320mb and 640mb cards were different cores and different cards), which was sped up a bit more and called a 9800gtx. nVidia then decided to re-release the 8800gt as the 9800gt. Before the 9800gt came out they released a 2-in-1 double 8800gt called a 9800gx2. They also released a die shrink (improved manufacturing, slightly more juicable) of the 9800gtx called the 9800gtx+. The 9800gtx+ is now called the GTS 250. Basically the same core design has made it through three generations without any real change. For two generations it remained labled as a top model, and now it's labled as a entry-med range, even though it should really be the "6" card. Oh right, and the 8800gs was also the same core, weakened down, released in the 8 series. That was renamed the 9600gso. A lot of this naming confusion occurred because nVidia's 9 series was just a renaming of the 8 series cards for marketing purposes (and a lot of people went and got the 9800gtx thinking they were getting something new, when they were just getting an overclocked 8800gts with a $100 markup). The 8 series card names were then inconsistently transferred to 9 series card names. ATi pulled this same kind of garbage back in the X1900/X1950 series. Sorry for the video card history, I just thought I should make sure you know to really research what you're getting.
What I would recommend as a budget option is this 9600gso, formerly the 8800gs, for $35 with rebate from newegg.
http://www.newegg.com/Product/Product.aspx?Item=N82E16814121320&cm_re=9600gso-_-14-121-320-_-Product
It should play COD4 just fine, and it's practically the price of an intro card. You can spend like $90 and get a 9800gt or whatever, but truthful the difference will be quite small. Sure this will get outdated faster, but certainly not three times faster. The 9800gt might squeeze medium out of some future game which the 9600gso will only manage to get low out of. Either way, you'll want a new card when that day comes. For now, the 9600gso is fine for most games.
The 8800gs aka 9600gso was a poorly represented card in its day, sort of nVidias afterthought competition to the Radeon 3850. Anyway, it is about equal to the HD 3850 and HD 4670 if people have no idea what you're talking about.
I could play COD4 just fine on my 8600m GT on medium on my laptop. A 9600gso should eat it up no problemo.
Make sure your motherboard has a PCi-express X16 slot. I believe the card you currently have is actually integrated into the board. But you still probably have the express slot. Google a pic of a PCI-Expess x16 slot and look in your case to see if you have one.