While Visual Studio 2003, compiled the entire application into a single assembly, Visual Studio 2008 seems to create seperate assemblies for each User Control. The fact that referenced code is in another assembly from the one you are working on causes Object Browser to open instead of code as you can only jump to code within the current assembly or assemblies that are being referenced.
The solution is to create a new user control library, add it to your solution and add a reference to the project. If the app_code is used by the user controls (in your new library) as well as the web application, then you will need to create a separate class library and add a reference to that library in the Web application project and the User Control Library.