One problem with relying on 'kill <spid>' prior to trying to load a database ... any applications that happen to log into the database between the 'kill' and 'load database' commands (eg, applications that auto-reconnect) leaves you with having to go through the find-n-kill process again.
I just run 'dbcc dbreboot(shutdown_load,<dbname>)' ; by shutting down the database this effectively kicks any offending spids out of the database and keeps them from getting back into the database while leaving the database in a state ready for your 'load database' command.