Duplicates, checksums and a lot of data is not a problem for my implementation, it's just a matter of how many flash sectors you need to allocate.
My aplication is also very time critical.
you wrote: "On top of that, I needed checksums for the dangerous programming code I had to put in RAM."
Continuig what you said, no code is 100% safe, no matter does it sit in RAM or in ROM. More over you are copying your dangerous code from ROM to RAM.
you wrote: "My experiment showed that I wouldn't be able to use the flash on HCS12 for fast, real-time applications. That is, the HCS12 flash is unsuitable for the kind of applications the part was designed for: typical automotive applications."
Let me ask, was HC11 suitable for fast, real-time applications? HC11 had both, program and erase times close to 10ms, 10+10=20ms. On S12 you have <<100us program and ~20ms erase. Pretty the same. But you point is taken.
you wrote: "But the worst thing with the S12C and many of the new S12 parts is really not the huge sectors of 256/512 bytes, but the fact you can't run the flash programming code from NVM, you have to run it from RAM. And that is a very questionable method in any application with just a tiny bit of safety requirements. "
Agreed. Note also that on S12P you don't have to run dataflash programming routines from RAM.
you wrote: "If you aren't doing time-critical, safety-critical or automotive applications, the flash will suffice. But then you have to ask yourself why you are using Freescale and not the cheap hobbyist micros. "
Time-critical, safety-critical, not automotive, not hobbyist. Do I deserve permission to use Freescale chips? Freescale, because they suit me the best.