What about duplicating each file, and when a write is done, the first file is written, then the second. If the power is pulled anytime during this, the worst that could happen is that the file has to be reverted to the version right before it. Much better then just loosing it completly.

(Of course this needs the overhead of some sort of checksum/date stamp system to know what file is good and such.)