Uhm, current mobile devices do that now, and what should they be using instead...? I thought iOS - being Linux-based - used "modern" pre-emptive multitasking and stuff like that.
I think the problem here is that older multi-user time sharing system is designed for a multi-user environment. In a single user environment, it's probably not the best way. By the way, iOS is based on FreeBSD, not Linux.
Apps could be updating just on the app switcher screen, perhaps at a lower rate than usual. It would often be useful to see an up-to-date view of the app's current state to help you decide if you want/need to switch to it or not. Of course, some apps might not want to do that - banking apps for example - so the app should be able to block realtime background UI updates.
If some apps really need to be seen updated when running in the background, I think it's better to just allow them to be flagged as such. Also, as you said, it's important to remove any sensitive information on screen before going background.
Often I see just a white rectangle on the switcher screen, so the screenshot functionality is not entirely reliable, or there's other factors involved as well...
The snapshot of app screens when going background is done at a certain time. The situation you describe could be caused by some apps removing UI before going background, or could just be a bug in iOS 7.
Of course, you'd need to re-load that data again from flash when you wake up the app, and that too would consume power and also slow down app switching. How much I don't know, maybe just a few tenths of a second at most, I don't know how fast flash access is in an iphone. iP4 at least isn't very fast though that's for sure. 5S is supposedly pretty quick, considering you can shoot up to 1000 (well, 999) photos in a row, and you couldn't fit all of them in RAM even if you don't have any other apps loaded...
It's true that writing to flash is costly, both in time and power. But as in most systems, mobile OS uses RAM as cache for storage, so it's still better than leaving these data in "live" memory, because the OS can purge the cache at any time ("live" memory, on the other hand, can only be purged when the app is suspended).