According to a post by Raphael (a core Android team member), you ideally want to have USB Debugging enabled on the device before plugging it into the Windows PC for the first time.
If you are reading this FAQ, though, you probably are past that point. His remaining steps are:
1- Remove existing drivers:
1a- Plug your phone
1b- Open the Device Manager
1c- Remove any driver for [ADB Interface > HTC Composite ADB
Interface] and [Disk Drives > HTC Android Phone USB Device] if you see
1d- Unplug phone
2- Edit the registry
2a- Disclaimer: be careful what you do in regedit. If you're not sure,
don't use it :-)
2b- Open the Registry Editor (Start > search/run > regedit)
2c- You *may* need to be administrator to do that
2d- Search for "vid_0bb4&pid_0c02" in keys or values. It makes take a
while. If you find in a value, delete the whole key folder.
2e- Some keys might be "locked": right-click them and add "everyone:
full control" to the permissions. Then delete the key folder.
2f- Repeat the search till no more instances are found.
2g- Close regedit.
3- Before your plug in your phone:
3a- Make sure to enable Home > Settings > Applications > Development >
USB debugging on your G1 or HTC Magic
3b- Plug the phone in. Windows should now ask you for a driver
3c- Do NOT selected to search the Windows Update. Instead select "I
will choose a driver" or the equivalent.
3d- Make sure to give the *full* path to the x86 or x86_64 driver, e.g:
If you just select "SDK/usb_driver", Windows might take the wrong
architecture and complain the driver can't be installed.
NOTE: these instructions should hold for all flavors of the HTC Magic, including the Google Ion and the T-Mobile MyTouch 3G.