@maxp, are you asking if it is better to include the class as a .cs file in the project or as a compiled .dll in the references?
I used to keep common functions in class files (.cs) and just include them in what ever project I was working on. The classes live under source control so I would just make sure I got the latest version anytime I created a new project. However lately, I have begun to compile them and register them in the GAC. This helps reduce the headache of not every really knowing which version of the class is included in a given project. If you make a change to the class, just re-register it with the GAC and all your apps are updated and using the same version.
The only real drawback I have encountered is if you are trying to debug and step through the logic. Just make sure your classes are solid before you compile and place in GAC.
Hope this helps answer your question.