It's like Latin in Middle Ages. Everyone speaks differently (in Old English, Old High German, Old French, etc.), but people write things in the same way (in Latin). And often don't even learn to write their native language.
> I'd argue Chinese characters don't actually represent a sound
If this were true, people wouldn't need to switch from Classical Chinese to Written Mandarin.
If Chinese writing didn't represent sound, it wouldn't matter if you wrote 學而時習之,不亦說乎? or 學習知識以後,常常溫習它,不也很快樂嗎?
But people stopped writing in the first style, and started using the second one, to better represents Mandarin speech.
> if a person reads a "character" completely wrong, he/she may never realize until some awkward moment happens during a speech or a conversation
This happens in most languages, just to a smaller degree. E.g. for a long time I thought Septuagint was Septugiant, because I've only encountered this word in writing and never cared to read it letter-by-letter.