How do I schedule a stored procedure in Sql Server 2005 that it runs once at the start of every month (and on database startup)?
You will need to create a job using the SQL Server Agent.
In SQL Server Management Studio, go expand the SQL Server Agent node under the DB server, right click the Jobs folder and select New Job...
(If the SQL Server Agent node does not appear, you may be missing the required permissions)
That will take you through a wizard to schedule a sproc to run on whatever schedule you want.
In terms of how to get a sproc to run on db startup, see this article.