Unrelated suggestion or correction:
I noticed you used this statement to remove the procedure before recreating it
if exists(select * from sysobjects where id = object_id('dbo.proc_simple') and type = 'P')
drop procedure dbo.proc_simple
go
I've always been using this instead. Is what I'm doing wrong in any way?
if object_id('dbo.proc_simple','P') is not null
drop procedure dbo.proc_simple
go