If you are migrating master to another server, you want the tempdb files to be in place before you restore the master database. If you will be creating new databases, then model should go next because it is your template. msdb will carry across your jobs and DTS packages, but you will have to modify the originating_server column in the sysjobs table if the new server has a different name that the source server.
Also, you could stop sql server, and copy the source master mdf and ldf to the corresponding location on the new server and then start sql server. It does work, because I had to do that this weekend for a large server migration. Just make sure you do the sp_dropsever and sp_addserver to rename the sql server from the old to the new!
The issue is that when SQL Server was installed all of the system tables were installed on the c drive. The c drive is limited with the amount of space, it's on 16 GB, as for the Server Manager he cannot add anymore space to the drive with out having to re-installation of MSWindows and all of the applications that is necessary on this server. (I don't know how true that statement is). So it was decided by the powers that be to move the system tables off of the C drive.
So I am trying to get the best possible way to accomplish this goal.