Vaya, interesante tema. ¿Estás pensando en hacer un parser? Cuenta, cuenta.
Te respondo a las preguntas, aunque en algunas no te puedo ayudar mucho porque son un poco complicadas:
1. En esto no te puedo decir mucho, porque sólo he implementado un parser, así que no puedo comparar la implementación de varios. Pero bueno, dentro de AGE, te puedo decir que posiblemente la característica que más complejidad ha añadido al desarrollo es el multijugador, ya que hay que dar soporte a que todos los eventos y sucesos que pueden ocurrir en el mundo se puedan ver desde distintas perspectivas, y te impide tomar muchos atajos de diseño (por ejemplo te fuerza a distinguir órdenes/acciones de cliente de los de servidor, etc.). Esto produce un diseño más limpio y potente (te proporciona "gratis" cosas como que los PNJ's puedan ejecutar órdenes ya que el jugador no puede ser un objeto único y distinguido como en Inform, etc.) pero es mucho más costoso de implementar. Un hipotético AGE monojugador habría sido bastante más sencillo.
2. Pues lo siento si mi respuesta suena a perogrullada, pero creo que simplemente cuanto más ambicioso sea el parser, más desarrollo requiere. Lo más fácil de desarrollar sería un sistema "choice-based" o de hipertexto, y a partir de ahí, cuantas más características y flexibilidad quieras añadir, más trabajo te va a dar.
De todas formas, más importante que el trabajo que dé o deje de dar es lo útil que sea, creo yo.
3. Bueno, yo recomiendo el de AGE, como es natural

Es un modelo basado en que cada entidad del mundo tiene un determinado estado (expresado en forma de propiedades con valores), y un temporizador. Cada unidad de tiempo se decrementan en 1 los temporizadores de todas las entidades del mundo, y cuando el temporizador de una entidad llega a 0, se actualiza el estado llamando a un método de actualización propio de cada entidad. Se trata de un modelo sencillo, robusto, potente y adaptable, es un diseño que creo que salió muy bien y del que nunca me he arrepentido.
De lo que sí me he arrepentido en el diseño, y te prevengo, es de hacer que criaturas/PNJ's y cosas/items de la aventura fuesen clases distintas. Quita flexibilidad. Habría sido mejor que fuesen la misma clase.
4. Pues creo que no es recomendable llegar a mucho detalle en el modelo de mundo, porque al final lo importante es la flexibilidad. Si creas un modelo detalladísimo (lo típico de permitir poner unos objetos encima de otros, dentro, al lado, etc.; o tener respuestas por defecto en el parser para todo tipo de acciones peregrinas: que si saltar, rezar, estornudar...) al final para lo único que va a valer es para que los autores que realmente sean detallistas y se preocupen de hacer aventuras de gran calidad tengan que sobreescribirlo todo para ponerlo a su manera, porque no tienen por qué querer hacer las cosas exactamente como tú las has puesto por defecto. Y para los autores que no son detallistas, para lo único que vale es para que sus aventuras incluyan respuestas o reacciones que son anti-inmersión, porque están programadas por defecto para situaciones genéricas y el autor no las ha adaptado.
Yo te puedo decir que con AGE, si lo reimplementara, le metería menos cosas en el modelo de mundo, no más. Lo importante es que haya los menores límites posibles para el programador a la hora de redefinirlo todo.