Here's something I found in another forum on a similar issue:
The method used to recognize the USB device has a clever bit of code in the firmware to improve the connect time once the initial handshake with the device has been established. So after the update to iOS4, the host device (Car Stereo) still thinks that it is connecting to the un-updated client device (iPhone prior to updating to iOS4) The updated client device (Your iPhone with iOS4), must fool the host device (Your car stereo), into believing that it is an entirely new device. This is done by connecting your iPhone to the stereo head USB port with the iPhone switched off completely. This is achieved by holding down the top power button on the iPhone until the red slide bar comes up and prompts you to shut the iPhone down. Do this and then with the car stereo switched on, plug the iPhone into the USB socket and wait till the iPhone starts of it's own accord. If it does not start, press the top power button on the phone until it starts. This will force the host device (Your car stereo) and the client device (Your iPhone) to re-negotiate the handshake between the devices and get you back to where you will once again be happy.
Not sure if it applies, but might be worth a try.