Look, you and I actually agree on this. Some of the steps that I had to go through were insane. We were working with a Kinect, so you had to trigger a save, dive for your XBox and yank out the network cable and the memory card at exactly the right time. At that point, you're TRYING to corrupt the data. But developers aren't just allowed to let bad things happen, even if it seems like it's the user's fault. Weak passwords and bad answers to security questions are ALSO technically the user's fault, but we can see how far it gets a company to blame users for those sorts of things.
But pathologically worst case behaviour aside, even normal behaviour can be a pain to handle. What if your app had some data saved on the card, but you removed it in the interim and now it needs it? Okay, you prompt for the data, but the user doesn't have it--they left it at home. Now what? Do you create new data? Refuse to progress?
Okay, you create new data. Now the user gets the card and puts it in, and you've got DUPLICATE data. Great. Merge? Throw away?
One storage device is a lot easier for the mobile paradigm, I feel. It's not the same as a desktop system--manipulating data is a lot easier on a desktop. Mobile systems should be lightweight and streamlined. But that's just my opinion.