Scott Hanselman has an article on trying to pick the right number of assemblies when creating an application.
Much of my work is on a large intranet application, which brings lots of considerations into the fold. We have started segmenting different web applications into their own projects, meaning they are seperate applications in IIS.
Of course this means that common functionality now needs to be broken out into assemblies.
Also, we had the practice of creating 1 data access assembly for each database we touched. This was pretty simple at first as we only had a handful of databases, but now have 16 of these assemblies, am I am starting to think we should just merge them all into 1.
I downloaded a trial of NDepend which produced a pretty neat diagram connecting assemblies together. I am going to try to see if I can refactor out a few (maybe only 2 are options at this point).