bueno...una string son una serie de caracteres ascii ...creo que el problema te viene de la manera que guarda la base de dados los strings, pues es probable que los codigos de control (#27,#0,#10) los ignore. Yo lo que he hecho para esto es guardar los numeros en un TStringList, uno en cada linea, y luego ir enviando segun necesite. Te lo pongo de memoria
Código Delphi
[-]
procedure Salvar_codigo_apertura;
var
sl : TStringList;
begin
sl := TStringList.Create;
sl.Add('27');
sl.Add('112');
sl.Add('0');
...
sl.SaveToFile('c:\codobert.txt');
sl.Free;
end;
procedure Enviar_codigo_apertura;
var
sl : TStringList;
i : integer;
begin
sl := TStringList.Create;
sl.LoadFromFile('c:\codobert.txt');
AssignFile(nPrn,'LPT1');
Reset(nPrn);
for i := 0 to sl.Count - 1 do
Write(nPrn,char(strtoint(sl[i]));
CloseFile(nPrn);
sl.Free;
end;