Did you go into device manager (control panel>system>device manager), and under "ports" check to make sure there isn't a conflict with your printer port (lpt1) and some other device?
I don't know what the prices are in your area but the printhead cartridge usually includes fresh tanks so the actual price of the printhead itself is not that bad. I had a bjc4200 and when the head needed replaced it was the same as if the tanks had gone dry. Output just started to disappear. Canon usually recommends the head be changed after about 2000 pages.
You'll have to do a price comparison for your area but in my case, I found it worthwhile to replace the printhead. The bjc4200 was still in great condition and served my needs so I saw no point in replacing it just for that reason.
With everything else that you've tried (such as reinstalling the drivers, multiple cleanings, etc.) I can't think of anything else that it might be.