I've run into the bad CRC error before. It ALWAYS happened when I flashed without erasing. In fact just to test I reflashed my kernel and rebooted and sure enought here it was. So you might try after getting a successful boot from tFTP:
flash_eraseall /dev/mtd1
nandwrite -pm /dev/mtd1 <yourimage>
Thanks for the tip - much appreciated.
I've done this process 3 times on the plug, I've run flash_eraseall each time.
I've used nandwrite with -p flag, and I've used cat image > /dev/mtd1. In all of these cases, the 2nd time I cold boot, it fails with bad data CRC.
Your suggestion has one new element I've not seen before: the -m flag.. I'll try it.