Yeah but no but yeah but..
"don't forget that when these apps were written ie6 was STANDARD."
Except it wasn't. There were established standards and ie6 was deliberately written to be incompatible with them. (Earlier versions were, to give MS the benefit of the doubt, accidentally incompatible with the HTML and CSS standards, but MS made the conscious decision to make IE6 default to IE5 compatibility, rather than standards compatibility.)
"now 10 years later we have the situation that ie6 is still firmly entrenched in businesses because standards have changed and newer browsers dont work in the same way, companies have a few options."
Correction: standards have, for the most part, NOT changed. Microsoft has (to some degree) given up on trying to change them to their (non-standard) way. This isn't entirely one-sided, however. Some good standards changes were actually begun by Microsoft (XMLHTTPRequest, for example).
As for the options companies have, you've missed one:
4. Investigate whether the app is ACTUALLY incompatible with IE7/8/9 -- I've seen quite a few cases where companies read "IE6" in the system requirements line and gave up without even trying.
In most cases, one could write to the standard and not really fall foul of any IE6/standard problems. It was only when writing (then edgy) CSS styles or (then bleeding-edge) AJAX applications or (sadly all-too-common) crappy browser sniffers that would break even when minor versions of IE were changed that problems arose.
But developers being what they are, they wrote to the bleeding edge, and now we're suffering the bloody consequences.