The app store seems to ignore all legacy equipment owners, and want me to spend loadsa money to get the latest shiny toy. It probably makes business sense, but I dislike companies that take that approach.
This is standard for Apple. While there is little official mention of the software support lifespan for equipment, typical support has been about 4-5 years for computers. It strikes me that newer items, especially mobile devices, are not built as sturdily nor do they have the hardware upgrade capabilities required to keep up with newer systems. When we bought an iPhone 4S we were told by the person in the store we'd probably be looking at a newer model in two years. The iPhone 3G could be anywhere from 2 to 4 years old, putting it well into.
As for app availability, Apple typically pulls old software versions from its site when new versions appear. If it is a non-Apple app then I guess it is up to the vendor. It is indeed tiresome but it is not at all unusual. Since I only ever run used Macs, I download current versions even though my computer won't run them, stick them on a hard drive, then I have them when I upgrade to a newer used computer. If you run older equipment you have to learn a different mode of operation to exist with the Apple 'new and innovative' but 'forget about the old' philosophy.
I've not come across this with other OSs or applications in quite such a draconian way. (An application I wrote for Windows 1 only stopped working with Vista when the 16 bit emulation was dropped.)
It is annoying that I can't even filter the apps store on IOS version supported, let alone have access to earlier versions as I am used to with a lot of Linux apps.
It looks as if I will have to get a newer iPhone (unlikely), switch to Android or explore jailbreak.