I did a bit more testing and confirmed that the 3 hats are not returned to their original mappings when T2 is released. I should probably also have mentioned that I have Aries_Radio set to 0 since I'm not using TS3 or TARS/Aries (and VAC is 0 as well). With Aries_Radio set to 1, the CommState seems to work as intended with the hats being restored correctly.
Then had a look at FC3_CommState_Init() in DCS_FC3.tmc and when Aries is disabled, I don't see any MapKeyR* that executes CommState_Off(CommStateAllow);, whereas with Aries enabled, T2_RO / MapKeyR does include such a statement.
I went ahead and modified line 542 from:
to:
but I'm not sure if this will have any unforeseen side-effects?