I typed that error message into google and it shows a bunch of places where that error has reared its ugly head on other devices. There are 2 different fixes that get mentioned over and over again, but neither of them dealing with the recovery app. If we try both of those fixes and neither one works, then we can start blaming the recovery.
The first fix was to replace "write_raw_image("/tmp/boot.img", "boot"
," with the path to the block device. So ours would be /dev/block/mmcblk0p9. The second fix said to use a different update-binary program inside the zip. If it turns out that neither of those fix it, I have an idea where to start looking in our recovery.
EDIT:
I'm reading the source for the recovery program now. The nandroid backup code uses a different method than the install.c file to find the partitions belong to which block devices. install.c is using mtd_find_partition_by_name(), which gets its list of partitions from the kernel via /proc/mtd. Our kernel doesn't list any partitions through that interface, so it won't work. I think you'll have to specify the block device in the rom install file to write to the boot and recovery partitions.