Поскольку функция time () могла быть выполнена за несколько миллисекунд до $ lastmoment.
EDIT:
Добавление комментария к моим мыслям, возможно, что преобразование strtotime () могло завершиться неудачно.
Или значение даты из базы данных содержит значение, например, дни, которых дата () не имеет.
Убедитесь, что вы сравниваете 2 значения даты одного формата.