I figured out a solution to the unlocks permanently disappearing, it wont bring them back, but it will help in preventing the loss of the unlocks. Rather than rewrite it, I am going to quote a comment I made on the Amazon.com review of this game I wrote.
Man, it's a great solution, but it's too complicate to understand

which match, which session, what was the exact reason of the loss... I am too confused. May be the reason is that my english isn't perfect.

Anyway, I lost one stealth unlock yesterday. I got 12 level of stealth, unlocked last stealth module, I think, played few match after that, I believe, I got a message about saving my profile. But today I see that module is still grey and, of course, I already haven't my last unlock point
P.S: Crytek should fix this ASAP, or release special software which check consistency of our profiles offline and give us back all lost unlocks.
Here, I shall simplify for you in steps.
These are for if you got an unlock from the match YOU JUST FINISHED.
1. Do not leave the session.
2. Attend the next match, and if you would like to use your unlock, use it before you attend said next match, that way it will save at the end of these steps just like everything else.
3. Play through the entire match.
(Optional) Play through another match of the same session to make sure everything is properly updated.
4. If you only gain exp as a reward from the match, you may now leave the session, however, if you gain another unlock, start back at step one. Otherwise you may continue to step five.
5. Never unlock anything outside of a session, unfortunately if you do and you enter a new session/exit, you will lose the unlock. Only unlock within a session lobby and follow the steps here.
If you have any questions feel free to ask me, and that goes for anyone else who reads this.