si mal no recuerdo en ese código se borraba periódicamente el archivo, si no, la data del chat crecería tanto que seria inviable el chat.
lo que tienes que hacer es pasar, por cada petición el "pivote" o posición del último ID devuelto por PHP, para que puedas filtrar el select (where id >
pivote), de ésa forma y hasta que NO existan nuevos registros, no devolverías nada, sino que quedarías en un while hasta que mysql te devuelva algo y envías la data.
seria la forma de garantizar un autentico long polling, de lo contrario, y como lo tienes que extraes TODOS los datos de la tabla, está funcionando como un polling tradicional, y queda demás decirte que sería un caos total, saludos