If you're trying to load this on test from production to test... I'd either say build a like environment to get a proper test or I would clean install SQL and restore only.
Yes I would keep all jobs saved in a source control of some sort and I would take backups occasionally of a scripted set of logins. These should be in change management as well.
In DR mode, I would install and upgrade SQL to what ever patch I was at, then restore... Given that my new system was built the same as the last one.
Side note on a corrupt master:
As backup, and please correct me if it's wrong, I install sql 2005, 2005 ent, 2008, 2008 ent, so on so forth... saved the system databases with the file path pointing to C:\Temp\ as my install path.
I know this sounds really wrong, stick with me.
I only have these sets incase master corrupts and I need to recover master when it will not load far enough to do so. then I place these in the correct location, start it up and restore the master from backup. (all things now point to the right place and should load) If you only save the system databases without any patches at all, they will script upgrade to the correct version.