George,
Eventually, supportability and bugfixes for newer versions surpass those for older versions.
True, though we don't hit bugs too much in 4.0, it is somewhat rocksolid for us. Eventually not going for 5.4 will be bad situation (once innodb plugin 1.0.3 features get merged in, e.g. fast index management is awesome :)
Among other things, if you wait too long between refreshes, you run the risk that it's too hard to roll the next upgrade, because of lack of experience and preparation with upgrading.
Well, there's that with proprietary/legacy internal projects. We actually run opensource project which works both on 4.0 and on 6.0. I did testing with 5.0, 5.1, 5.4 - so we kind of know what steps are needed to upgrade our farm from application side. We also know what is needed from DBA side - and that is a bit of work.
Upgrades should be regular and expected. Frequent is probably a mistake, barring active bugs, but trying to freeze anything in time works poorly over 5 year timespans. You eventually end up with hardware that's obsolete to the point of unreliability, software that's obsolete to the point of unreliability, etc.
Think of our 4.0.40 as less than two year old product. We have features people don't have in 5.0 ;-) It is not that bad then! Anyway, software, especially infrastructure one, gets obsolete way later, unless really interesting developments happen.
Cheers, Domas