One somewhat unrelated tip, but since it matches the subject people might find this helpful:
If you only see this error occasionally (especially after code gets interrupted mid-run) it's probably just the card itself in a bad state. Power cycling just the card itself (e.g. pop it in/out) should resolve it.
Basically, the current card initialization code is conservative, bailing out if it doesn't look like a card rather than continuing to blast signals at whatever is actually attached, and this apparently doesn't "jostle" the SD Card out of all possible states. (This is tracked under https://github.com/tessel/sdcard/issues/8 if you want to take a look or add any new discoveries.)