If you want a Canon, then I think that there are none of the new generation MP's which are easily refillable.. They use opaque cartridges with a chip that cannot (yet?) be reset. They are hard to refill, and you cannot monitor ink levels. You risk burning out the printhead when trying to print with an empty cartridge. See this thread : http://www.nifty-stuff.com/forum/viewtopic.php?id=5530
The previous generation of Canon all-in one printers use the PGI-220/CLI-221 series of cartridges in the US and PGI-520/CLI-521 in the EU. These cartridges have a window so ink levels can be checked and they can be refilled using "The German Method". There are also resetters available, so ou don't loose ink level monitoring. See this thread for excellent instructions: http://www.nifty-stuff.com/forum/viewtopic.php?id=4315
So maybe the best solution is to look for a previous generation Pixma MP ? Some models to look for : MP560, MP620, MP640, MP980and MP990.
Thanks for the replies. I am probably going to buy the mx870 and get a resetter (actually I'm going to buy two printers so that when one goes I'll have another one being that the new models make it difficult to refill)