I was very impressed with the documentation for Apple's Cocoa and also Qt. Basically anything with javadoc/doygen style documentation WHERE THE JAVADOCS ARE EXHAUSTIVELY FILLED OUT AND NOT JUST A METHOD LISTING is great. Of course this sorta assumes an OO framework is being used.
I have never been impressed with MSDN documentation, however, there is a particular thing I really really like about the .NET documentation. If you are looking at the documentation for, say, System.Xml.XmlReader in .NET, there is a little navigator up at the top showing all versions of the .NET API that that class is present in and allowing you to switch quickly between versions. So I can immediately tell: Okay, this is how far back the feature goes; and if I'm looking at the "wrong" version I can get to the one I actually want to know about quickly. I wish all API docs had this feature, the python docs especially suffer for lack of it (and the Python docs they sometimes move things around between doc versions, so if you find yourself accidentally looking at the 2.2 version of something in the docs you can't just edit the url to say /Py3k/ and assume you'll find it