Как мы все знаем, абстрактный класс в php - это абстракция, инкапсуляция.... и должен иметь хотя бы один абстракный метод.
Не должен. В определении написано совсем наоборот, "класс должен быть помечен как абстрактный, если в нем есть абстрактный метод", обратное не обязательно.