Inicus: It took some systematic deleting and replacing of files, but I was able to isolate which file is responsible for your mission unlocks and it is very counter-intuitive: It is the "User.ini" file that stores your key bindings other control settings. Weird, I know, but true. You'll find the file here:
Unreal 2 – The Awakening\singleplayer\System\User.ini
I was very confused and thought I must be mistaken, because I couldn't see anything in there about missions or unlocks. But eventually I found the actual line that does the work. Specifically, it is near the very end of the file, under the “[U2.U2PlayerController]” section, in a variable called “AutoSaveIndex”.
When you haven’t played the game at all, only the first level will be unlocked, and AutoSaveIndex=0
When you have played into level 8, then AutoSaveIndex=7
(Notice it started counting at zero, hence it is one behind the actual level number)
When you have finished the game, then AutoSaveIndex=22, because there are 23 levels. Now all 23 will be unlocked.
You can backup and copy-paste the User.ini file to restore your mission unlocks, or you can just edit the file and change that one line from "=0" to "=22".
Hope this helps.
Edit: By the way thanks for posting this. I had just replayed it and backed up my saves and was about to uninstall. I would have been very annoyed if I later found out I hadn't also backed up my mission unlocks. I also had assumed that would have been in the save files. Apparently not.
Thank you. Sorry for the lateness of my reply.