Only exception I know of is some RTL / FCL code that still calls the old "A" versions of Windows API functions.
And of course I call such functions somewhere in my code, too
I see no reason why they insist on changing ACP.
string = ansistring = ansistring(CP_ACP) seems to be an invariant in FPC, but there is no reason for that.
They could just have set string = ansistring = ansistring(CP_UTF8) = UTF8String
It will probably be faster, too, since you do not need to check what the ACP is