Regarding the hardware protection of flash chips on power-down: There's a circuit we used to use to protect battery-backed RAM from this problem. The basic technique is to hold the CS high when the power falls below a certain value. See maxim-ic.com for chips that do this. I think for flash substituting a capacitor for the battery would implement a similar function.
Just an idea, I don't know if anyone's actually tried it with flash... Mark Chambers ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/