I bought a 4670 for an XP machine after an nvidia 6600gt card in it failed after a few years of use. It would bluescreen immediately whenever I bring up the TV viewing application that came with a TV card that I also had in the system.
I had to try multiple drivers, going back a few versions until I could find one that didn't bluescreen and ran relatively stable. But it still did little things wrongly sometimes that gets annoying. e.g. I ran 2 monitors with different resolutions on it and it insists on re-detecting them every time when waking up from sleep. But it got it wrong and swapped the resolutions once in a while!
The 6600gt never did any of those things. I did clean out the old drivers (including nvidia's) and reinstalled the drivers numerous times to isolate the bluescreen down to particular driver versions so it was not the old drivers messing the system up. So yes, I did have some negative feeling towards ATI's driver quality.
That said, I have a hd5870 in my current Win7 system that runs fine for the most part... Though I'd not say 100% perfect. e.g. h.264 video would glitch once in a while if I turn on hardware decoding acceleration (not always in the same spot and not if I go back and played the same scene so it is not the file nor the player), and sometimes a few scan lines are corrupted after waking up from sleep. I ran RAM test for the system and on the video card and they came up fine, so I'm not sure whether it is hardware or the drivers.
The 5870's performance is quite good and the glitches don't happen often enough to get in the way, at least not when I'm playing games, so I've been mostly satisfied with it, but I wouldn't rule out switching back to nvidia for my next upgrade if they come up with something fast, less heat and has a good bang-for-the-buck.