И мне все же очень хотелось бы узнать, почему название обрезается только при одобрении запроса на курс, но не при создании или редактировании курса. И исходя из чего при обрезке остается разное число символов.
Посмотрите таблицы mdl_course_request и mdl_course на тему shortname .
В 3.5 mdl_course_request.shortname varchar(100) , а в mdl_course.shortname varchar(255). Как 100 символов не могут поместиться в 255 я не понимаю!
В старых версиях shortname был 15 символов.
Есть подозрение, что у вас какая-то проблема с кодировками таблиц.
В utf-8 число символов не равно числу байтов.