I'm not going to install TSM just to test this, but I removed it from .toc and spoofed the TSM_API so the addon loads without errors.
Then I hardcoded
outgoingMessageOne = "outgoing message one"
outgoingMessageTwo = "outgoing message two"
to get rid of the TSM logic.
SendChatMessage works absolutely fine.
So I'll say again the problem with SendChatMessage is 99.9% that you are getting something back that includes control codes (like colors) and such messages are silently ignored.
So it is not SendChatMessage that's broken it's your message.
As for the infinite loop, that's a kinda trivial logic bug to fix don't you think