Ну, если не хотите вносить изменения в тот скрипт календаря, то отслеживайте изменения по таймеру.
Скорее всего, у хостера проблемы какие-то, писали ему?
$first = strpos($text, '<br>');
$result = mb_substr($text, $first);
$result = mb_substr($text, 0, $first);
Попробовал только что, ничего не исчезает.
В консоли ошибок нет? Какая версия DLE ?
Для проверки вместо $config['comm_msort'] поставить "ASC" или "DESC", никаких ошибок не должно быть.
Если нужна сортировка по айди, то вместо " ORDER BY date " поставить " ORDER BY " . PREFIX . "_comments.id "
А тут если попробовать /engine/modules/show.full.php
$comments->query = "SELECT " . PREFIX . "_comments.id, post_id, " . PREFIX . "_comments.user_id, date, autor as gast_name, " . PREFIX . "_comments.email as gast_email, text, ip, is_register, name, " . USERPREFIX . "_users.email, news_num, comm_num, user_group, lastdate, reg_date, signature, foto, fullname, land, xfields FROM " . PREFIX . "_comments LEFT JOIN " . USERPREFIX . "_users ON " . PREFIX . "_comments.user_id=" . USERPREFIX . "_users.user_id WHERE " . PREFIX . "_comments.post_id = '$news_id'" . $where_approve . " ORDER BY date " . $config['comm_msort'];
И ASC и DESC пробовали? Наверное кеширование.
/engine/ajax/comments.php
if( $config['comm_msort'] == "" ) $config['comm_msort'] = "ASC";