Every hardware platform has unique abilities and constraints. The code that provides the "business logic" part of the device is often one-off and domain- or application-specific. Even if you're running on some general purpose platform, that part of the code is going to be about as battle-tested as anything running on some new architecture - not much.
Edit:
Someone alse pointed this out but it's worth reiterating - hardware systems are simulated extensively and analyzed in various ways for performance, cost, reliability and other factors. Software less so, and test cases, if they exist, might not necessarily capture all the power loss/inconsistent state problems that can occur in the real world. Maybe in the future embedded applications could be analysed with a fuzzer or something to help weed out that kind of once-in-the-field-never-in-the-lab bug.