I too was having this problem when trying to sync my iPhone 3G with my Windows Vista Ultimate 32bit.
This was quite frustrating, until I figured out a "work around". It's not pretty, but seems to work fairly reliably.
1) Vista on and ready.
2) Plug in cord to iPhone first
3) Turn on iPhone to home screen.
4) Plug in USB cord to Vista machine.
This is where I usually get the "USB Device Not Recognized" message.
5) unplug USB cord from Vista machine.
6) Open up control panel, go to System, Device Manager.
7) Click the + next to Universal Serial Bus controllers.
8) Right click the bottom most USB Root Hub (we'll try them all, but start from bottom).
9) Select Properties, Driver Tab, Uninstall.
At this point, Windows freaks out a bit, as it sees it's missing a USB Root Hub, and tries to reinstall it. After it pops up the message in your task bar that it's Found the USB Root Hub, give it a few seconds, and then goto step 3 above.
If this doesn't work with the bottom most USB Root Hub, try the next one, and keep trying plugging in and unplugging the iPhone after uninstalling different USB root hubs. It should work eventually.
I've never tried just uninstalling them all at once, and then plugging in the iPhone. This might work as well, and could be faster.
I also wonder if I see this error more, because I'm trying to plug my iPhone into a USB 1.1 port on my computer. Not sure, haven't tried USB 2.0 yet.