I suppose you've tried retensioning the tape already. Often a tightly wound tape will give some weird errors. Your tape drive may be going bad. It may be that tar is working inside the giant block range just because the tar command may be more compact.
I had a problem with one version of Unix where I had to fudge the block size with dd.
Here's an shell snippit of some code which also compresses to tape as well. Hope this helps.
cat tapelist | cpio -ouBdc 2>>bakerrlog | \
gzip -c9999999 | \
dd ibs=512 obs=512 conv=sync of=$TAPE 2>>bakerrlog || BSTATUS="N"