Brad Abrams has posted a series of entries "On Designing Good Libraries" for .NET. Great stuff that I'll have to return to when I start writing .NET. I love designing good libraries, probably even more than writing good applications... Here's what he's posted so far:
Part I, Part II (Comments), Part III (Comments), Part IV, Subclassing, Interfaces, IEnumerable