I disagree with point 7 - regarding the sp_ prefix, try the example below.
CREATE DATABASE Test
GO
USE [master]
GO
CREATE PROCEDURE dbo.sp_TempProc
AS
SELECT 'master'
GO
USE [Test]
GO
CREATE PROCEDURE dbo.sp_TempProc
AS
SELECT 'test'
GO
USE [Test]
GO
EXEC sp_TempProc
GO
USE [master]
GO
EXEC sp_TempProc
GO
Chris