How it could be the hardware... timing is one example. the specifications may allow 10-20 microseconds for a response to a command or signal etc such as during recognition. if the card responds in 7-12 microseconds then a certain percentage of responses will likely fail or if the cards response was 15-25 microseconds, same issue. There are a number of ways this could be a hardware issue or implementation specific issue even if the "specifications" are adhered to because often there can be different interpretations of how it should be done and what's allowed or not allowed.This isn't a problem unique to the Surface 3. I came across this thread by Googling my error code 43 which is on an HP Pro 608 (Windows 10). It's the exact same problem everyone else is describing. Basically I can't simply boot up my tablet if I plan on using the microSD card (a 200GB SanDisk btw - supposedly the tablet supports mythical 2TB cards as well). Most of the time I have to reboot and then it typically works from then on.
I seriously doubt the problem is the card - the OP even tried three different 128GB cards. I tried formatting it in NTFS and changing the removal policy in Device Manager with no success. These are good suggestions but I'm very skeptical they work since not everyone is getting fixed. I think those who think they fixed it are experiencing what I consider a lucky coincidence which isn't going to last.
Wish there was a proven solution because it's quite maddening to have to boot your tablet twice before using it every time. I'm leaning towards this being some weird Windows driver issue not specific to the hardware. I mean - how can it be the hardware if it works fine after every reboot?
Standards are also complex and varied. Google is an easy example with Browser Standards but the same happens with almost all standards. Google will develop a new way of dong something then propose it as a standard. Often companies begin to adopt these proposals even before they are approved and it may be changed along the way before it is approved. now you have a variety of implementations from various states of the "standard", depending on who you want to believe. This is how the browser wars are fought and the same happens with other things as each vendor jockeys for an advantage over the others. SanDisk pushes the envelope here, Samsung there, CardReader manufacturers implement something ... firmware tries to adapt to ever moving targets. Sometimes it's amazing anything works at all.