The Z22 is a 1200x1200 dpi printer, half the resolution of high-end HPs, Lexmarks and now even Canons. Quality-for-the-buck wise, I'd go with either the HP 932c (~$129 retail) or the Lexmark Z43 (~99 retail). Both give 2400x1200 dpi resolution - beautiful prints. Going higher up in either brand won't result in better prints (even including the HP Photosmart printers), you just get more speed and, in HP's case, other spiffy (but mostly useless) features. The carts for the HP are slightly less expensive than the Lexmark carts ($1-2 per cart). The Lexmarks are capable of six color printing with the optional photo cartridge. I don't believe the HP has that option available.
You haven't specified where you got these photos you're printing, but keep in mind a printer can only print what it's given - a poor source will result in poor prints.
Some people are bound to recommend Epsons... The current crop of Epsons aren't very durable, use a ton of ink, and don't have a replacable print head (well, not practically replacable, anyway). 2880x720 dpi is also a much lower number of dots per square inch than 2400x1200.
Buy from somewhere with a good return policy. That way, if you're not happy you have a few weeks to take it back and get something else.
Hope that helps.