It seems like the following type of files need to be writable to be able to compile a solution. .exe .dll .pdb (if debugging) .resource (?) .xml (at least the system generated ones. I'm not sure if they are just all XML documentationf iles)
If they were checked in and could only be overwritten by the compiler by the person who had them checked out, then checking them into sourcesafe and requiring a checkout to modify them, which is attemtped by the compiler each time you run, would interfer with other developer's ability to debug and run.
What is the best practice? It seems like VSS automatically adds everything.