I too have noticed this problem. First I found it in an app that I'm developing, and I was sure that I had a bug in my app. After investigating, I found that this behaviour is not unique to my app, but rather something that seems to happen on most if not all apps.
I have noticed one thing, that I didn't see discussed in this thread (although I must confess that I have not read all 35 pages of the thread). Apps seem to behave differently if they are launched from the iOS Launcher (i.e. home screen), or if they are launched using the "fast app switch" (double click on the home button, and then pick your app).
When I launch the app using the "fast app switch", it seems to always resume running the app wherever it left off, even if a long period of time has passed from when I last ran the app. However, if I launch the app from the iOS Launcher, then, if enough time has elapsed from when I last ran the app, it restarts the app. I know it's restarting, since I see the "splash screen" displayed.
My conclusion from this, is that the app hasn't been killed. If it was, then launching via "fast app switch" would also cause it to restart.
I'm wondering if this has been discussed before, and if anyone can else has seen this behavior.