Após algumas pesquisas, concluí que não eram as minhas UDFs que eram voláteis. Acabou sendo uma referência na forma:
INDEX([named range],[row],[col])
Se eu substituir essa referência por uma direta ([folha]! [col] [linha]) os cálculos serão interrompidos. Se é a função INDEX ou o intervalo nomeado ou a combinação dos dois, eu não sei. Eu uso um monte de intervalos nomeados e um monte de referências INDEX para os intervalos nomeados. Eu não posso substituir todos eles para descobrir qual é o problema. Btw, o intervalo nomeado é um intervalo fixo. Offset () não é usado em nenhuma parte da minha planilha.