Ich kann es schon verstehen, dass neuere Apps nur mit dem neueren System laufen. Das ist zwar im Einzelfall ärgerlich, aber verständlich.
Meist liegt es daran, dass eben Features des neuen Systems bzw. neue APIs genutzt werden.
Z.B. wurde erst mit einer bestimmten Version von iOS eine automatische Garbagecollection eingeführt oder eben GCD für leichteres Multithreading. Wenn man das sinnvollerweise benutzt, dann läuft es natürlich nicht mehr unter alten Systemen. Damit es auch unter den älteren läuft, müsste man dann zusätzlich so programmieren wie vorher, d.h. einmal eine Variante, die das neuere einfachere System verwendet, und einmal eine zweite Variante, bei der das alte aufwändigere System verwendet wird. Macht man das, kann man sich die Arbeit mit der neueren Variante eigentlich sparen, denn die ältere läuft ja auch auf neueren Systemen.
Im Endeffekt würde das darauf hinauslaufen, dass die neueren Features nicht genutzt werden.
Aber eben das Hauptproblem bleibt ja, dass die älteren Versionen, die noch lauffähig wären, nicht mehr verfügbar sind. Das man irgendwann von den neuen Apps abgehängt wird, ok, aber das man dann keine Chance mehr hat an Software zu kommen, ist doof. Gerade wenn man das Gerät weitergibt, hat der Neubesitzer ja erstmal nix drauf.