The reason spell checking doesn't work in the message system or chat boils down to the problem of notifying you when you have miss-spelled a word. To do that a system must use a graphical characters instead of code based ones. The difference is that a code based character sends an ASCII number to the system from that the system knows to put a particular character on the screen. The codes are set by the American Standard Code for Information Interchange (hence ASCII) and each country has it's own, and there are a LOT of others besides. On the other hand, graphical based characters are actually pictures drawn by a program based upon a definition (read forumla) of the character, it's shape, size, color and other characteristics. So you can start with a formula for "A" and then add a line to make that A into
A. This includes a picture of the character underlined -- the typical method of notifiying you that you spelled it wrong. The use of ASCII goes back to the beginning of the PC revolution (and before) and since sending a "93" (the capital letter "A" if memory serves me) takes only one bite while sending the code to draw and "A" takes nearly 50 bites. Since saving bandwidth is important. ASCII is often used in text only applications, like chat and messaging.
In the end a code based system can't display anything to tell you when you screwed up and spelled my name ajqqrtz instead of the "correct" "ajqtrz"
While the forum, on the other hand is meant for longer and more complex messages, and thus uses a graphical based character system rather than a ASCII based one.
At least that's how I understand it.
AJ