Interesting discussion.
I noticed that SOME strings are translated but some are not. An example, on a Dutch site the form label 'Name' ( __('Name') ? ) gets translated to 'Naam' which is good. Apparently, it is in the WordPress main MO translation database... But 'Message' is not translated. I suppose that string is NOT in the main translation.
I think it is a nice approach to use the main WordPress translation database. It avoids depending on plugin translations that keep getting out of date or are just missing. But it only makes sense if the actual translation stings ARE in that main translation database.
So in the above example, using __('Message') apparently results in an untranslated string but using __('Comment') instead should result in a translated string. Of course we could debate the use of the term 'Comment' against 'Message' or even 'Body' but in the light of internationalization, the choice seems limited:
Either move to a separate translation domain for the plugin (at least for those strings that are not in the main translation) or limit the plugin to use strings that are in main translation.
In both cases, I can help out if need be :)