На самом деле это проблема Delphi (5). При сравнении доступных принтеров и принтера по умолчанию учитывается регистр (Printers.pas):
if TPrinterDevice(Objects[I]).Device = Device then
begin
with TPrinterDevice(Objects[I]) do
SetPrinter(PChar(Device), PChar(Driver), PChar(Port), 0);
Exit;
end;
Изменение сравнения на:
если lowercase(TPrinterDevice(Objects[I]).Device) = lowercase(Device)
решает проблему.