Don't forget about CPA compliance. I used one of Jim's documents on how to use PCL code to place text in a very specific spot on the document, and it works like a charm.
We produce around 750 cheques per month, and we've never had a problem.
fyi: In Canada, (and the US) CPA compliance will be mandatory in July 2009. There's some reading you will need to do. You should request documentation from your bank.
fyi2: I used variables XX, and YY to allow for fine tuning of margins in case we ever change printer. ie: HP Laserjet 1100 prints -2mm x -2mm higher than an HP LaserJet 1300. Changing 2 numbers is easier than changing 100+ lines of code.
ESC_ON=chr("27") { "&f0S"
ESC_OFF=chr("27") { "&f1S"
BA=ESC_ON < chr("27") { "*p" { ("873" + XX) { "x" { ("0" + YY) { "Y" < "My Text goes here" < ESC_OFF"
Here's a quick breakdown... keep in mind other say it MUCH better than I do

This is just my 2 cents.
So ESC_ON < chr("27") starts the PCL code, and "*p" says, goto position 873 on the X-axis (plus my XX variable for fine tuning). The lowercase x indicates that there is more code to follow. An uppercase X would indicate that that's the end of the "*p" command to re-position. the "0"+YY indiciates the Y-axis and is finished with an uppercase "Y", which indicates that's the end of the "*p" command. Now the text goes in, and is finished with an "ESC_OFF" command.
We purchased our printer hardware from a company called "Troy MICR". There are more out there, but they have never given us any problems.
I hope this points you in the right direction. Perhaps my method is over-kill... but it works for us.