What may cause the text of a message created with the Message module to be empty?
This is a rather typical issue in multi-language sites. A variation (not duplicate) of your question is what is described in "Rules - Set language of message notification".

A possible solution (work-around?) is what you wrote in your own comment below your question, i.e.:


  I checked Message class, and it turns out that I have a wrong language code, 'cause I set administer language to English other than default language. It works now after I set language back to default.


Another solution is to indicate the language in which the message is to be created.