The partition probably starts on block 63. This is from a 2GB pendrive that I never reformatted.
sudo /sbin/fdisk -lu /dev/sdd
Disk /dev/sdd: 2020 MB, 2020539904 bytes
32 heads, 63 sectors/track, 1957 cylinders, total 3946367 sectors
Units = sectors of 1 * 512 = 512 bytes
Disk identifier: 0x44a84755
Device Boot Start End Blocks Id System
/dev/sdd1 63 3945311 1972624+ 6 FAT16
Usage: dd [OPERAND]...
or: dd OPTION
Copy a file, converting and formatting according to the operands.
bs=BYTES force ibs=BYTES and obs=BYTES
cbs=BYTES convert BYTES bytes at a time
conv=CONVS convert the file as per the comma separated symbol list
count=BLOCKS copy only BLOCKS input blocks
ibs=BYTES read BYTES bytes at a time
if=FILE read from FILE instead of stdin
iflag=FLAGS read as per the comma separated symbol list
obs=BYTES write BYTES bytes at a time
of=FILE write to FILE instead of stdout
oflag=FLAGS write as per the comma separated symbol list
seek=BLOCKS skip BLOCKS obs-sized blocks at start of output
skip=BLOCKS skip BLOCKS ibs-sized blocks at start of input
status=noxfer suppress transfer statistics
You use seek to change where the writing starts and skip to change where the reading starts. Working with a block size of 512 is a good idea.
If you have the room, then make a copy of the backup file. Use that file as the destination for restoring the mbr and see if you can mount it.
However, if the partition part of the image on the dead_usb_file file is OK, you could just try mounting it using losetup & mount. You don't need to mess with dd.
sudo /sbin/losetup -sf /temp/dead_usb_file.bu -o $((512*63))
sudo mount -t vfat /dev/loop0 /tmp/deadusb -o ro,loop
Use the loop device that losetup finds. I assumed loop0 in my example.
If you can mount the partition image part, then you can simply copy the files back to the reformatted pendrive.