In addition to what everyone else has already noted you really need to
state your tradeoff between lifetime of the flash cards and minimising
the risk of loosing data.
Wow, this sounds like a PC programmer's statement and not
how an embedded designer would solve the problem. Granted
the poster has not provided and adequate 'specification' so
my point of view may or may not be precisely applicable.
...snip...
I don't disagree that you can design the system to loose power or crash
less frequently, but I don't see how this undermines or disagrees with
my statement?
Essentially you can buffer more data and hence risk more in the case of
a crash/power loss, or you can write more frequently which will decrease
the life of a write limited medium. I don't see how you have changed
that basic trade?
The engineering solution is to set things to balance write frequency
such that the media lasts "long enough", then as you say tackle the
other side and make the device crash/loose power less frequently.
Based on the nature of the post I assumed that the OP wanted advice on
tackling the software side...