• I'd say that a business should upgrade at the latest time possible but while it is still a choice rather than a diktat. An upgrade should take place when you have time to think it through not when your back is to a wall.

    You don't want to find that an old machine goes pop, you can't get parts and the software won't run on either the new OS and/or the new hardware. You'd pretty much want to know up front that a system cannot be upgraded, only replaced.

    There is also the upgrade path to consider. Perhaps you can skip from version x to version x+3 but there is no path to version x+4. This is also has to factor into your thinking.

    I have found that databases per se tend to use tiny subsets of the features the platform actually supports. I seen 3rd party apps that are certified for SQL2012 with schemas that would happily run on SQL7.