The stock update system has a pretty interesting way of handling things. I have the dev environment for the WD009, which includes a builder for these update files.
Basically the CRC is checked by both the script and the updater on the device. It includes not just the image, but parts of the script too - I think the calculation is done on the whole firmware file sans the first 4 lines, but I have to verify this.
The script itself extracts a rootFS ext2 image, mounts it, unmounts all MTD partitions, and chroots into the new environment. Then it proceeds to run a script in it, which does the flashing of the bootloader, kernel, and new rootFS, then reboots.
This environment contains a much more feature rich busybox, with dd and mtd_write included. I think you should be able to cobble together a build system within OpenWrt for it, which would then build the conversion image for every nightly and release.