I have been trying to figure this one out myself. Mandrake 9 and an HP deskjet 920C. It likes to use all four colors (cmyk) to print plain black text, resulting in a kind of greyish-blue...
At first I suspected OpenOffice, since that's what I print from most often, but after changing its setting to "print in black only", it kept doing it. So maybe it's a problem with CUPS, or as you said, the printer driver.
I think I may try getting the driver from HP rather than using the Mandrake-supplied one... I remember having better results with that. Don't know if you'll be able to find a similar one for your Canon though.