Yo trataría con un bloque try..except
Código Delphi
[-]
SePudoAbrir := True;
AssignFile( Printer, 'LPT1' );
FileMode := fmOpenReadWrite;
try
Reset( Printer );
Rewrite( Printer );
except
SePudoAbrir := False;
ShowMessage('La impresora no responde');
end;
if (SePudoAbrir) then
begin
...
end;
Si quieres mostrar el error:
Código Delphi
[-]
except
on e:Exception do
begin
SePudoAbrir := False;
ShowMessage('La impresora no responde'+#13+e.Message);
end;
end;