Você não especificou uma contagem para que o dd leia a entrada completa. Especifique a contagem, por exemplo,
dd if=BIN of=/dev/mmcblk0 bs=1k count=1 seek=1; sync
Isso deve escrever um bloco de tamanho 1k. (Além disso, só para notar que a busca está causando dd para pular os primeiros 1024 bytes - é que é pretendido, necessário?)