Hello,
Yesterday, i had same kind of problem after a BIG crash w/BlackScreen on boot... so i reinstalled C2.... again (& windows too for 3 f****ing hours lost).
> Just after fresh reinstall, i had lost all classes, 10k XP and... Retriever lvl3
-> disconnect, reconnect, disconnect... no changes
> I found & pasted my old saved game through the new one:
R:\Windows\Users\**YOUR ACCOUNT**\Saved Games\Crysis2
THIS ACTION BACKUPS EVERYTHING for me (classes, 10k XP, Retriever lvl3)
seems like C2 puts classes, last XP & last perk upgrade in cache, more precisely in files of "SavedGames", cache seems to be saved/uploaded by a buggy way and when C2 crashes (or not ...), SavedGames are corrupted (or not identicals between server & cache versions), you're fu**** 
> first result may be from main server
> second may be from my cacheMake backup of SavedGames !in my case, i had the "chance" of reinstalling windows wich allows me to backup docs.
My SavedGame was not corrupted and main server had not be able to force my cache to its old values.