Que tal Jotamarios
Bueno, ahí está la abstracción, en cada capa del MVC, ya que cada una debería ser independiente de lo que haga la otra
En particular, que los ejemplos retornen array's, es particular de los ejemplos. En Zend lo que hacemos en los desarrollos es tomar toda la información que se recibe desde la bd en arrays, convertirlos en objetos y luego retonar colecciones de objetos.
Sí, es más trabajo, pero mantienes la unidad básica de "objetos", y bien esto se podría resolver con un ORM e independizarte del tema. Que exista constante traducción "array's - objetos" no es culpa del MVC, es de la diferencia de modelos Entidad Relación y Objetos.