The needs of a high end consumer 3 years ago is different from the needs of a low end consumer today and different technologies age at different rates. The iPhone 3GS is still using a 65nm processor which means it's using almost twice as much silicon for the same number of transistors as an iPad 2, driving up cost. At the same time, features introduced into later phones like better cameras or the gyroscope would probably be worthwhile even in a low end phone.
Additionally, high end finishings like steel and glass might be attractive to a high end consumer but low end consumers would rather take the cost savings from using plastics.
At the same price point, the iPhone 3GS is not at all competitive hardware wise with modern low end phones. The only reasons they sell so well are because a) They grant exclusive access to the iOS ecosystem which trumps performance issues and b) the modern American way of pricing phones confuses most consumers. If the phones were priced at $649, $549 & $449, a lot more consumers wouldn't find a 30% discount for 2 year old technology that good a deal.