Okay then (I'll probably just get yelled at by the MS lovers)...
The difference between Win7 and Vista is that Vista uses more system resources. (source: Microsoft)
Vista loads to system memory and then maps to graphics card memory, basically duplicating resources and uses almost double the memory. Win7 fixed this issue by loading directly to the graphics card. Vista loads all background process at startup, Win7 loads only the ones which are needed and only when they are needed. Win7 also uses less hard drive caching.
GTA 4 is also a memory hungry game, which relies a lot on the graphics card. It detects how much memory is availible and attempts to set the graphics accordingly (settings are locked to the available memory size). Upgrading to Windows 7 would of changed this setting as it saw more memory available to use and tried to increase the quality, but fails as the graphics card can't keep up. It works better with graphic card memory, not system memory (which is has found more of).
You can either set it all to low graphics and try run it smoothly again, attempt to tweak the settings, or update the graphics card.
Your'll probably find it's attempted to increase the draw distance and added shadows, etc (reduce those). If you set them back to low it should run the same or better than it did on Vista. A new graphic card would however let you increase the graphics (you will notice a huge difference with quality and performance of this game).
However, for a few GTA 4 performance tweaks, see my post here:
http://www.computerhope.com/forum/index.php/topic,110081.msg741214.html#msg741214Happy gaming, hope it works smoothly again for you!