The problem is as you mentionned, Flash is very fast for reading, and reading does not impact the card. They are reasonably fast for writing, but they do have a limited number of read-write cycles before failure - between 10000 and 100000 writes for some cheaper flash memory... This is not good, especially if you have logging thrashing the flash memory cells! You will have similar milage between a flash card and a key... If you really need to write a massive amount of data for a mission critical application (logfiles and traces for example), I would recommend that you boot from a hard drive (even if it is a 1 or 1.8 inch drive connected to the usb port!)
In my opinion, to keep flash wear level to a minimum, you would have to start the system read-only, then mount user writable partitions for your applications and use those, and make sure you keep commiting to flash only what is really needed.
After a quick search I came up with this: https://sites.google.com/site/linuxpendrive/rorootfs
that may give you some help.