El orden en que se envían los eventos no se puede garantizar fácilmente. Dependen del orden en que se cargan los módulos. Por lo general, se llamará a todos los observadores de eventos principales antes que a los observadores de grupos de códigos comunitarios y locales.
Hay un método para obligar a los observadores de magento a disparar después de uno personalizado "simulando" una dependencia de un módulo central a uno local o comunitario. Eche un vistazo a la respuesta de Lee aquí: haga que un observador personalizado dispare ante un observador Magento existente .
/app/etc/modules/Groupname_Page.xml
<config>
<modules>
<Groupname_Page>
<active>true</active>
<codePool>local</codePool>
<depends>
<!-- Your dependencies go here -->
</depends>
</Groupname_Page>
<Enterprise_PageCache>
<depends>
<Groupname_Page />
</depends>
</Enterprise_PageCache>
</modules>
</config>
Personalmente no me gusta ese enfoque, ya que no sé qué consecuencias forzaría esa dependencia.
Para su caso de uso, parece que debería hacer algún tipo de detección de datos / estado para saber si se disparó o no. Verificar un estado / datos en un modelo sería preferible a intentar forzar un orden de eventos.