I agree that ease-of-use is important. This is just another man's opinion but I'm thinking auto changes to dates or other fields could also cause startling=confusing color updates. Because we're talking about colors changing based on days, it's less likely that the user will need to invoke a toolbar button frequently, and more likely that they'll just need to do it once per day.
There is also a matter of the Time as well as the Date: A simple comparison of the internal values can't be used. The date value must be extracted from the due date and compared to the date value for today. Otherwise if it's 2pm now and a task is due tomorrow at 3pm, it's technically more than 1 day away, so is that colored as a 1-day priority or a 2 day priority?
And I understand that in your case priority can't be used here. But what I'm seeing is that with priority becoming invalid for your purposes, due date could easily not be an alternative coloring criterion for someone else. For this reason I'm suggesting that some thought be put into implementing this in a way that's more future-proof. For example, with a plugin that gets updated on every task change, a custom calculation can be inserted to apply a 0-10 weight of desired factors, with a task color being returned based on that weight. Unfortunately plugins don't currently work like that, by default anyway but it's possible to make it work. Doing it like this takes a lot of load off of Dan And gets us a more versatile feature.
Anyway, those are just my thoughts, no "rebuttal" intended.
T