@Steve: If you want a misaligment of a block of data, simply do myFile.write('X') before you start to write the block with myFile.write(block, size).
It writes byte X and the first 511 bytes from the block into the cache and onto the card, then it starts to write the block via DMA from block's address 511 (misaligned). There is now the fix in SDIO.cpp such you will not see an error, it will write without DMA instead. You have to uncomment the while(1) there such it Hangs with misaligned (see above).
I will prepare the Mandelbrot demo soon.
@Daniel: I've done some reading on "sdio problem stm32f407" and found a lot of desperate topics at community.st.com. Frankly, I am quite surprised our SDIO works so well
I've seen somewhere in that forum they inserted delay(10) somewhere in init and then before CMD55 and before CMD10, as I can remember. I have to find that discussion again