Ainda não investiguei o problema... mas provavelmente é isso mesmo... Briga de String vs AnsiString...
Precisamos seguir todo o caminho e atribuições, para garantir que o mesmo tipo é sempre usado, ou convertido adequadamente...
AnsiString sempre foi muito usado no Pascal como um Buffer para dados binários...
http://www.ararat.cz/synapse/doku.php/public:howto:binarystring
Então alguns "gênios" da Embarcadero, resolveram acabar com a AnsiString no compilador NEXTGEN (que é usado no Delphi Android, até a versão 10.3)
Finalmente reconheceram o Erro, e mataram a porcaria do NEXTGEN... veja esses artigos...
https://blog.marcocantu.com/blog/strings_immutability_cow_ansistrings.html
https://blog.synopse.info/?post/2013/05/11/Delphi-XE4-NextGen-compiler-is-disapointing
Essa mudança infeliz, custou muito para a linguagem Delphi... centenas de bibliotecas não puderam ser migradas, devido a essas mudanças não desejadas e infelizes... e por isso que o Delphi não se tornou uma ferramenta de sucesso no mobile..