Can a SQL Server 2005 msdb database be restored as a User database?
Yes, you can, even on the same instance.

-- I assume you've already done something like this:
BACKUP DATABASE msdb TO DISK = '&lt;backup_location&gt;\msdb.bak' WITH INIT;

RESTORE DATABASE msdb_copy FROM DISK = '&lt;backup_location&gt;\msdb.bak'
  WITH REPLACE, RECOVERY,
  MOVE 'MSDBData' TO '&lt;data folder&gt;\msdb_copy.mdf',
  MOVE 'MSDBLog' TO '&lt;data folder&gt;\msdb_log.ldf';