Simon
Please check the id, name, uid and crdate from system table sysobjects to see how and when your procedure and table are created with the steps you have.
Some caveats do apply for drop and create of an object
e.g.
-- Single batch will fail
drop object if exists
create object
go
-- Two batches will work
drop object if exists
go
create object
go
HTH
Avinash