A picture turning green can't possibly have anything to do with a memory card error, unless the card error somehow has an intelligence of its own and knows how to change the picture's color rather than randomly corrupting some bits.
Actually it could. It depends on how the RAW files are compressed. If some important bits get corrupted, it's possible an entire color channel could be lost, or for every value in a color channel to be effected when the data is uncompressed. I don't know the details of CR2, but for JPEG this is very possible since it uses discrete cosine transforms (which are similar in nature to discrete Fourier transforms) to store data in the frequency domain with separate luminescence and chrominance channels, and even uses Huffman encoding tables to save space! To display the data you have to do everything in reverse, including of course inverse discrete cosine transforms.
If the data was stored as a boring flat array of radiance values for each color, then yes, random errors wouldn't do this, however I suspect that's not the case with most image storage systems, including ones with lossless compression.
Even if it is very rare it's UNACCEPTABLE!
Well it may have nothing to do with the Camera, and just be a random memory card error, in which case you should spend lots of money on error correcting memory cards if that's not acceptable to you. If it's the camera's "fault", it could be a flipped bit in the buffer, which is just fairly standard RAM (which corrupts data from time to time). If you wanted to spend a ton of money, I'm sure they could build cameras with error correcting RAM, it exists for servers but costs far more than normal RAM.
So yes we could likely make these things 1 in 1,000,000,000 events, but it would cost more than reasonable person is going to pay.
Of course they could also save parity information with the file to try and correct bit corruptions, but then our files would be a lot larger, and people would complain about that