В таблице есть колонка id, если не ошибаюсь это - ключ, задача: вывести первые 35 записей с конца (отсортировав через id), но так, чтобы последняя из этих 35 записей была внизу, а первая вверху.
SELECT * FROM messages WHERE room = '$room' ORDER BY `id` DESC LIMIT 0 , 35
Вот если бы записи выводимые этим кодов отразить зеркально, то будет самое то.