I made a small oversight - the codebehind of user controls can be compiled into the main DLL, or deployed as source files to the web server. The choice of how to handle the code-behind files depends on the attributes in the @CONTROL directive in the .ascx file.
If you see INHERITS=, then the code-behind of that control does need to be compiled with the project. If you see SRC= instead of INHERITS=, then you deploy the source to the web server.
The .ascx files are always deployed with SRC= in the @REGISTER directive of the host page. This is what I was thinking about when I answered this question.
The default in VS 2003 is to use INHERITS= for the code-behind and SRC= for the .ascx. The default in VS 2005 is to use SRC= for everything.
As I said before, I really think you could use some more experience with smaller projects. It's very hard for me to teach you everything in this forum :-)
Please email me offline if you need help that isn't specific to this project. The people who read this forum are only interested in ThePhile.