Schöne Zusammenfassung. Ich persönlich halte es so, wie Yii es ursprünglich mal empfohlen hat, d. h. ich habe wechselnde Modelle für Formulareingaben und wechselnde Modelle für Datenbankabfragen. Diese Modelle ändern sich auch, je nach Anforderungen oder es kommen auch schon mal welche dazu.
Ansonsten habe ich sehr viele fertige Modelle für Sonderfunktionen wie PDF Generierung, E-Mailen, Passwörter, Auth, usw, die sich kaum mal ändern.
Ich finde es auch idiotisch, da zu pedantisch zu sein und alles in (meist) statische Klassen zu schreiben, wo es auch Funktionen tun. Das bringt keine Performancevorteile und erst recht nicht mehr Übersicht. Im Gegenteil: Häufige Funktionen wie die Ausgabe von Hyphenation läuft bei mir einfach mit einer Funktion _h(), anstatt $extension::hyphenation().