A ordem na qual os eventos são despachados não pode ser facilmente garantida. Eles dependem da ordem em que os módulos são carregados. Normalmente, todos os observadores de eventos principais serão chamados antes dos observadores da comunidade e do conjunto de códigos locais.
Existe um método para forçar os observadores do magento a disparar atrás de um personalizado, "fingindo" uma dependência de um módulo principal para um local ou comunitário. Veja a resposta de Lee aqui: Faça um observador personalizado disparar diante de um observador existente do Magento .
/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>
Pessoalmente, não gosto dessa abordagem, pois não sei quais consequências forçariam essa dependência.
Para o seu caso de uso, parece que você deve fazer algum tipo de detecção de dados / estado para saber se foi acionado ou não. A verificação de um dado / estado em um modelo seria preferível a tentar forçar uma ordem de evento.