Hi Nick,
As its flashing to the Nand it is reporting bad blocks but still flashing the image, its missing some of them so not flashing them all over to the Nand.
You could try adding the -m option to nandwrite to mark the bad blocks. nandwrite -mn $dev $f But it's risky. I don't know if it's the correct thing to do, and if it needlessly marks blocks as bad for some reason, I don't know how to cancel that, though I assume it's possible.
In short, you're outside the scope of what I know.