ну и изврат

не проще прочитать файл в массив фцией file() , перевернуть его array_reverse() и выводить сколько надо записей из готового массива.
А запись производить просто и незадачливо:
PHP код:
$fp = fopen('./chat/messages.txt',"a");
flock($fp,2);
$string = "My new news";
fputs($fp,$string);
fclose($fp);