After Ken managed to get it restore on his server, I started assuming that it was a problem with my configuration. I think it's likely I'm hitting a timeout somewhere along the way but I'm not sure where. We're using mod_php and I increased the max_execution_time and max_input_time far longer than it has taken to fail in the past. I also increase max_input_vars and memory_limit just to see what happened. All of those changes had no effect.
Rather than continue to beat my head against a wall there not knowing which direction to look at, I tried a different approach and downloaded Moosh. I figured this might work since there wouldn't be timeout issues here. Restored the course via the command line and its up and running. Moosh FTW.
As far as the course size goes: The backup isn't huge because I've aliased so many files in the past. Also, that was a backup without student data. The backup at the end of the semester with student data is 450MBish. That and anything that takes 15-20minutes to restore counts as large in my book. Most of that seems to be in the question bank...
As far as the aliases go: This course started out life on a 1.9 server, changed sites, and then went to 2.1 and then up one version at a time. I, like many other people, severely missed the convenience of updating files via FTP in 1.9 and set up the file system repository so that I could still do that. Then a version or two later came drag and drop file uploads and I was again irritated that I did all that work aliasing files only to have a much better option a year later. Since I'm not currently planning to move my course anywhere then I've just been lazy and not redone all the aliased files. I'll update them all at some point. Of course I think there are still files in the Legacy Course Files that get used in quiz questions. In all my spare time...
So I've accomplished my task but I'm still happy to take suggestions on other places to look to try to fix the fact that I still can't restore the course the normal way.