Hmm. Since it doesn't affect everyone, it can't be some kind of trash in the censored words list. Does it affect only certain kinds of browsers, or a wide range? Is there any code anywhere to replace ' by ' or anything like that? Maybe some browsers don't recognize the particular HTML entity being used. There's got to be some common pattern by browser make, version, PC language configuration, keyboard, user group, or something.
I've seen some people posting on these SMF forums whose apostrophes are always escaped (\'), and I've always wondered if they were doing that manually out of habit, or what. It does suggest that somewhere, apostrophes are being singled out for special treatment. When they're put into the database, they're supposed to be escaped (and then unescaped on the flip side) -- maybe something there isn't working, but then again, I'd think it would affect everyone. Is data handed off from TinyPortal to SMF and vice-versa? Maybe they're doing some kind of irreversible change in the process?
When you say "question mark", is this just a plain "?", a white "?" on a black diamond, or something else? Are any of these users tech-savvy enough to View > Page Source and see just what the browser is being asked to display -- an HTML entity, a plain "?", or a binary byte (or double byte)? Is SMF outputting UTF-8 for its page? Is TinyPortal putting out the same page encoding? If there were a mixed character set encoding, I'd think that everyone would experience the same problem.
Can you give the SMF community a link to a posting so we can see if this happens on our browsers, and report back what we're running on?