Normally when users enroll in a course, they should be getting a welcome email. No such messages are sent in the Moodle 1.8.3+. The problem seems to be causes by
check in function email_welcome_message_to_user() – sending welcome email is bracketted by this check. Removing that check [and fetching the msg text thru get_string("welcometocoursetext", "", $a);] reactivates sending welcome email.
The $course variable is initiated from mdl_course record but there is no field with such a name, so welcomemessage should be set somewhere in code. However, global search of all php files does not find it and failure at execution time proves that somebody messed something up. Seems like a botched or unfinished effort to centralize sending the welcome message and/or to allow course-specific welcome texts.
Flatfile and paypal plugins are unaffected since they are those messages on their own.