Creo que ninguna de las soluciones son malas, ni son mutuamente exclusivas. Lo cierto es que si tienes una DB que es atacada por diferentes sistemas programados por diferentes equipos lo más lógico como arquitectura es usar procedimientos almacenados, así evitamos que cada sistema haga cambios a "su manera". Ahora si estamos hablando de tu web que tiene 1000 visitas mensuales hasta 10 millones y está en 1 solo sistema y la base de datos la configuraste y la controlas tu, pues un ORM te va a hacer más "Facil" un desarrollo ágil de la aplicación.
Me parece que el problema no es el ORM sino la aplicación, las implicaciones de arquitectura y los equipos de desarrollo. Por otro lado, si lo piensas para tu web y quieres acabar la aplicación este mes, usa un ORM, si no te veo sufriendo con test, y cambios de mantenimiento.
Por otro lado está el formar al personal de desarrollo, los ORM están bastante bien documentados, esto es un gran punto a favor!
Como los ORM, nos pueden ayudar a evitar los Stores o en todo caso a
combinarse con ellos?
Pues ni Doctrine ni Propel manejan procedimientos almacenadas, si los quieres manejar con el ORM construye una query sin relacionarla con los modelos y ejecutala.
Seria bueno un ORM que genere los Stores
tambien no?
Dejaría de ser un ORM para ser una capa sobre la DB en particular para la DB que estás usando.
Lo dicho lo digo en calidad de opinión personal!
JAP