Moonlightさんにお作りいただいたCheck disk for NDS Ver0.3、M3Realで使わせてもらってます。
その中で気が付いたことがあるのですが、0バイトのファイルが書き込まれた場合、
ディレクトリエントリとクラスタのサイズが違うというメッセージが出て致命的エラーになるようです。
なぜこれがわかったかというとM3Realのでチートの設定でチート項目を何もチェックせずに
戻るとゲームのIDのファイル名で0バイトのファイルを作るからです。
1バイトでも中にデータがある場合は問題ありません。
また、この0バイトのファイルを削除すると致命的エラーはなくなります。

あとこれは贅沢なのですが、M3RealでGBAのリアルタイムセーブを行うとis0という拡張子のセーブファイルができます。
もし今後マルチセーブが可能になるとis1、is2とかになるのかも知れません。
最近は書き込みをするファイルはすべて要注意と思うようになってきました。
M3Real用に拡張子0〜9までセーブファイルと認識していただけたので便乗して対応いただけたらと思いましたが、全ファイルをチェックしても然程時間が掛からない秀逸なソフトですので、全ファイルチェックだけで良いのかも知れませんね。
すべてに対応していたらきりがありませんから。

あと、やはり8GBのmicroSDでライトアクセス時間のベンチマークを取ると再起不能な
状態で壊れてしまうものなのでしょうか?恐いので試してませんがもし可能性がある程度の
事でしたら自己責任でチャレンジしてみたいと思います。