Allright. This is coming from a past experience.
I had an Old Pentium 3 667 with 64Mb of SDRAM.
I was given 2x 256Mb sticks, threw that in and noticed a huge increase in performance. Especially in GTA 3. (That was with a TNT 2 M64).
Next, I overclocked the Processor to 733Mhz.
Not happy with the performance, I dropped in a Geforce FX 5700LE (250/200 @ Stock) And pushed it to 527/250. (its DDR so it went to 500mhz).
And then I loaded up the most demanding game I could find... And it happend to be FarCry at the time. And Bang! Guess what! It ran flawlessly. On all the highest settings. (Even with Pixel shaders 2.0).
Now, I tried Dom 3. Guess what? It ran it at 2fps. It didnt matter how low/high. the performance didnt change at all.
Now this only has to show, that some games WILL run with a highend card. (It was at the time), on a low end system. But others... No chance. Basically, get the best you can afford, you can allways take the graphics card to another machine. Try overclocking that thunderbird a little. You would be surprised on how easy it is to push the FSB to 133 or 166mhz. And being AGP 2.0 (AGP 4X) You could drop in any card of your choice. I would personally choos a 6600 or 6800LE or If money is tight. A simple 9600XT. Dont get anything less than a 9600XT these days. And if you go Nvidia, they have a handy feature to Hardware Accellerate parts of windows.