SetupBuilder is open. I try to build the program that the installer references, and Visual Studio tells me "LINK : fatal error LNK1104: cannot open file '..\..\runtime\server.dll'". I fire up Process Explorer and Find Handle 'server.dll'. SetupBuilder has it. I try closing the project. sbuilder.exe still has the handle. I have to close SetupBuilder completely, and restart when the build finishes.

I shouldn't have to do this. There are a couple of issues here:
a) I should be able to write to the file even if SetupBuilder has a reference to it. Why does SetupBuilder need a write lock on this file? It should be opened for reading only. If you do need a write lock, perhaps during compilation to ensure the file doesn't change while being compressed, it should be released after it's no longer needed.
b) Handles should be released when I close the project, if not before.

In theory, Setup Builder should only need to have a file handle during compilation and when populating the File tab.