At some point (I'd say in less than five years) we won't have to worry much about this situation as I envision having 2-4GB of RAM on these devices along with perhaps 100s of GBs of FLASH.
But for now, iPhone applications should implement their own paging system by creating an architecture that allows them to listen to the "applicationDidReceiveMemoryWarning:" message and effectively page parts of itself out of memory and in to flash until needed again.
Are you essentially writing your own MMU? Yes! But that's ok, it's a temporary solution to a temporary problem.