Due to a difference in windows versions of 98se and 2000pro Printer.Printers(array number/printer number) gives different output. "Epson RX80 on LPT1:" and "Epson RX80" respectively. At the time I did not have 2000pro and did not think of this querying before. However. Now I have 2000pro and 98se I was able to test. And so now it works on 2000pro (the DC, Device Context now works on 2000pro where it didn`t previously).
I have also made the open_printer routine simpler.