запись мелкими блоками (~512 байт) не вызовет ошибку, баг вылазит как раз при передаче больших блоков, когда FATFS делает "direct transfer" разбей свои 22*1024 на блоки <512 байт и ошибок не будет. Но баги в diskio.c останутся и будут ждать свой шанс :)