I theorized that the firmware within the DS could be upgradable in order to allow whatever needs to be done to fully utilize the DS's on-line abilities.
How to do it? I'm thinking something similar to what Nintendo did to patch Pokémon Ruby/Sapphire - You can download the upgrade (via wireless connection) from a Demo Unit loaded with some kind of upgrade card that's in the Demo Unit. Big first party titles launched around the same time could also come with the upgrade pre-loaded (Say, for example, the online launch titles could have the first firmware upgrade loaded in them) - the first time you put one of these cards in, you get an "Updating firmware... please wait" message. The third route could be like what was done for Ru/Sa where you have to physically send the unit into Nintendo or bring it by an offical repair center for free upgrade. Finally, if the DS cards are really as cheap as it's believed they are, let's have DS demo cards given away in Nintendo Power (or other sources!) that... have the firmware upgrade on them!
As per how touchy the upgrade process is... well, it all depends on how the software is written. First, remember that the power button is just that - a button. I see no reason that the software that works the firmware upgrade couldn't be written to ignore commands from the power button during the upgrade process. As for battery power running out, perhaps the software could run a battery check before upgrading - if the battery isn't at 50% power or some such, then the unit won't upgrade and will give a message saying that the battery needs to be recharged before continuing. The card popping out should *not* be a problem. I'd think it'd be written where the DS downloads the code into it's internal memory, instructs you to remove the card and then does a soft boot, then loading the firmware upgrade.
Software bug? Well, crap happens I guess...