Чем плохо использование статических функций в проекте для архитектуры?
Вообще использование статистических функций это не плохо, если Вы понимаете их назначение и используете их правильно в простых вещах вроде Helper. Но не нужно превращать весь проект в статистическую бестию.

Объекты инкапсулируют состояние и поведение, а статистическая функция лишина этого.

Что сказано в документации PHP о статических функциях: 

Объявление свойств и методов класса статическими позволяет обращаться к ним без создания экземпляра класса. К ним также можно получить доступ статически в созданном экземпляре объекта класса. 
Так как статические методы вызываются без создания экземпляра класса, то псевдопеременная $this недоступна внутри статических методов. Поэтому важная причина, по которой Вам стоит избегать статических методов, заключается в том, что их использование теряет одно из преимуществ объектов. Объекты предназначены для инкапсуляции данных. Это предотвращает появление неожиданных побочных эффектов, которые позволяют избежать ошибок, улучшает тестирование. Статические методы не имеют инкапсулированных данных и поэтому не получают этого преимущества.

Так же статические методы всегда создают экземпляр объекта при загрузке приложения, независимо от того будете ли Вы использовать этот объект или нет. Это увеличивает нагрузку на память.

Что касаемо именно выборки из базы, то тут как минимум будет зависимость на одном хранилище. Что если вы сейчас хотите забирать данные из Mysql, а завтра из PosgreSQL. В вашем случае будет очень сложно перейти от одного хранилища к другому, но если бы вы использовали объект Repository, то вы бы просто написали новую реализацию и заменили бы через DI контейнер.
Плохо только не знание того, когда какой паттерн использовать. Вы - не знаете.