I fell into the "get a new graphics card" trap with my old pc 4 years ago. The pc originally shipped with a 64mb Nvidia Geforce MX 420. As I wanted to play higher end games like IL-2 I got a 256mb Geforce FX 5500 installed. It cost me about $350 (with the installation fee). Big waste of money: IL-2 ran better but not by much. The 256mb cards were marketted towards people like myself who don't know a lot about graphics cards; they advertised the extra 128mb as adding more power to the card. What they didn't say was that, for whatever reason, the card didn't use the full 256, only 128.
In my newer pc (with SH III installed) I have a 256mb Geforce 7300 LE. SH III with GWX works alright for the most part. Unless the card breaks down I won't be replacing it. Too much money & I've been down that road before.
Off topic but I've always wondered this & never seen anything about it it: Can SH III be played at 16-bit settings? Other games that I have can and, in fact, are designed to be.