Note that the dbo portion of the object name is the owner of the object and dbo stands for database owner. If the user in the connection string is not a dbo on the database then it will not "see" those objects that are owned by dbo. Typically you would add the sql user as a dbo of the database.
The main reason why only a real database backup and restore will work is not anything about the stored procedures. The biggest problem is that when you import tables from one database to another they lose their primary keys, indexes and default column values which leads to all kind of errors. You will never be able to solve all those problems so the only right way to do it is using a real database backup and restore.
The only other way to migrate a database is you have to use scripting to script off all the database objects and the data and then you can run the script on the new database to create the objects correctly and restore the data. There are commercial tools such as Red Gate sql tools that can script off the database and there is a free open source database scripting tool here.