OK, profiting from the collective wisdom, my gdi printer is set up as raw in CUPS and is now working very nicely with
cat myfile>/dev/usb/lp0
At least as far as printing is concerned, there are some issues with sending it control characters, but that's for later after some more wrestling with it myself.
Problem is, printing in this way only seems to work with root privileges. Why? And what should be done about it? Printing works just fine as a user via CUPS, what is so special about this process that it needs to be su?
I can think of ways of doing it, but would really like to understand what is going on and why before doing any of them.
Cheers,
Peter