It seems like the amortizing over the lifetime of a capital asset is what is tricky for software, not that some businesses operate with very small profit margins. For the example given, that must have been a hyper-competitive area; continued yearly improvements of $900,000 was not enough to increase sales. So at year 6 the owners got rid of the engineering staff. What happens to revenue? Did all the competitors die at year 5, and so years 6 through 25 still have $1 million in revenue? Or with no continuous improvements, did sales and revenue drop to $0? In one case it seems like the right asset lifetime for the software could be 20 years, and the other case, 1 year.
I really liked the suggestion someone else posted in a discussion, that IP-encumbered assets should require amortisation of expenses over the lifetime of the IP (and of course the owner can always immediately write them off by releasing the IP instead).
But I do wonder what the effect on smaller shops would be.