On further experimentation, this seems to have a success rate of about one in two or one in three.. not sure why. But worst case, one might have to reflash the kernel via the serial link.

You can verify a freshly programmed kernel by reading back from /dev/flash_kernel over FTP.. the file you read back will be larger than the original kernel zImage, so only compare the bytes up to the size of your zImage file.

-ml