Killrose +1
$40 is a decent price for an older card like a vanilla x1650.
The best card for the money depends on what games you play and what resolution you use. An x1650 is going to be acceptable for low resolutions (1024x768, possibly up to 1280x1024) in older games.
Stepping up to the 8600GT for ~$60 would make for better gameplay at 1280x1024, again mostly in older games (but some newer titles would work fine at this resolution).
Probably the highest performance/price card right now is the
EVGA 8800GS for $110 after $30 MIR. This card will run the newest games (with the exception of Crysis, which nothing runs well) very well at up to 1600x1200 or even higher.
8300GS << x1650 < 8600GT << 8800GS