Hard to tell what's wrong when you don't mention the version of dd
you're using or even the type/version of your OS.
i'm using fileutils-4.0p, mandrake8.0/2.4.3
The above works fine for me with dd from fileutils-4.1 on both
linux-2.2.18 and linux-2.4.9.
If it still fails when using the latest version of dd,
then run the command like this
sorry, i can't find the latest version of dd
strace -o syscall-trace dd if=/tmp/test.gz of=/dev/fd0 bs=1k seek=400
and send me the `syscall-trace' file it creates.
i give you the file (See attached file: syscall-trace)
syscall-trace