Ok so here is my clever tweak -
Since even modest graphics cards can run decent texture levels with even 256mb of memory, even a basic machine can run medium textures (possibly even high) with NO peformance hit.
However since the game refuses to let you choose your own settings you have to 'spend' memory to get the medium textures.
This means you have to have less draw distance or lower resolution, which really kills the experience. However i found a cunning way to get medium textures by fiddling the settings.
You need to set the game options initially to medium or high textures, and not worry about resolution and your view distance. Just set them as low as you can so you can spend all your memory on getting the textures as high as your machine will allow.
A 512mb card might be able to get high textures since you can spend over 512... so try it and dont forget to use fraps to check your frame rates before and after.
Now you have the game set at your desired texture level, start a game (making sure to restart GTA 4 if necessary to load new textures) then once in game go to the graphics menu and
[Only registered and activated users can see links. Click Here To Register...] the textures to LOW!
The game will 'refund' you back the memory you spent on textures, but the textures wont revert back until you restart the game. This means you can now increase your resolution to a nice
[Only registered and activated users can see links. Click Here To Register...] level, and then add view distance (i recommend certainly NO LESS than 10 or it really looks screwed up).
If you check with fraps you will see no detectable decrease in frame rate, but you now have decent textures along with your original resolution and view distance combination.