Cost is the lowest priority factor, since the differences between these chips are often just a couple of dollars.
One of the reasons I did not switch to mega664 is because its DIP package is significantly larger than mega328, which makes it tricky to re-design the through-hole (DIY) version. The surface mount version can definitely fit without a problem.
Software development is typically the major bottleneck. You will spend most of the time porting code to the new microcontroller. In this case, mega664 is not officially supported by Arduino, so I would expect more work to be done.
Another reason is that I don't want to just move on to a new chip and tell previous users that they cannot upgrade their software any more.
OpenSprinkler 2.0 will certainly use a different chip, not necessarily avr any more.