When you pack and go a project containing a custom smart component with code behind I found that it does not include the code behind dll. I have to manually copy this dll into the library folder created when you unpack the project for the smart component to work.
I had set the option to copy the library into the pack and go.