Obrigado por mais essa revisão...
Não apliquei as modificações em ACBrUtil.pas
Procedure WriteToTXT( const ArqTXT : String; ABinaryString : String; const AppendIfExists : Boolean = True; const AddLineBreak : Boolean = True );
Tudo que é um "String Binário" DEVE ser AnsiString, caso contrário poderá haver perda de dados com caracteres de controle (STX, ETX, NUL)
Em ACBrTXTClass.pas
procedure TACBrTXTClass.AssignError(MsnError: String);
begin
if Assigned(FOnError) then FOnError( ACBrStr(MsnError) );
end;
Todos os fontes do ACBr usam CP1252, para manter a compatibilidade com o D7... por isso, se a origem de "MsnError" for algo que estava "hardcoded" nos fontes, então é necessário o ACBrStr() para converter para a página de código nativa da IDE (Unicode no Delphi e UTF8 no Lazarus, sem mudanças no D7)