I did a quick test (with 2.2.2 and with my trunk install).
And unfortunately it worked for me (in both versions).
Could you do 2 things please.
1) Compile your IDE (Tools > Configure Build Lazarus) with
-dSynFoldDebug -dSynFoldSaveDebug -dSynCaretDebug -dSynDebug -dSynTrimDebug -dSynAssert -dSynAssertFold
And start it with --debug-log=c:\mylog.txt
And then get me the logs. (Plural, one log for saving the session, a 2nd log for loading it)
2)
Once you saved the project (with the SynEdit) exactly as described in your post find the lps and lpi file and send them to me. Copy the file before you open the project again.
The lps may be in the primary config path / or if your setting is to save the session in the project file, then there is no lps file.
---
EDIT: I see you are on 2.2.0
But that should make no diff to 2.2.2 for the described behaviour.
I am not aware of any changes between 2.2.0 and 2.2.2 that could have any effect on this.