dd return code
I don't know about the return code of you problem but with some backup tools or tape drives, the system or the user create a tape header located on tape first file and the full backup is located as second file on the tape.
Maybe you just have to skip one file.
A other issue with tape drives is the blocksize used to write/read the tape.
I would try the same command with bs=32k and if don't work, increase the bs.