Encontrei uma solução totalmente na gambiarra, mas funcionou comigo.
Eu percebi que ao rodar o POSPRINTER em modo de DEBUG o QRCode acabava saindo normal. Então deduzi que a impressora não estava conseguindo interpretar as informações tão rápidas quanto recebe.
Por isso coloquei um Sleep(1000) na funcão que desativa a porta da Unit AcbrPosPrinter, ficando assim :
procedure TACBrPosPrinter.DesativarPorta;
begin
sleep(1000); // --> Só fiz isso e rodou tudo normal o QRCode
if FDevice.Ativo then
begin
GravarLog('Desativando a porta: ' + FDevice.Porta);
FDevice.Desativar;
if not FDevice.IsSerialPort then
FInicializada := False;
end;
end;
Posso estar falando falando uma grande besteira, até peço desculpas, mas deu certo isso comigo.
Ps: Precisei desligar e ligar a impressora para zerar as configurações da mesma.
Se tiver tempo, faça o teste e depois retorna,
Abraço.