Voicemail mysteries

I have asterisk asterisk-1.4.23 and freepbx freepbx-2.5.1 running on Debian Lenny. IMAP support is compiled in and I use a dovecot mail server. I have not updated for the last two months or so, mostly because even though I know it’s good practice, I dont’ like to mess with something that works without a good reason to do so. This box is set up for a client who is testing the system out with 11 Aastra phones for now.
I was called a few weeks back because three extensions were not receiving voicemail, even though all 11 were configured exactly the same way. After some research and trial and error, I figured out the fix at the time was to recreate the extensions, and that worked the charm. Then I got called again yesterday for the same reason, but three different extensions. This time, recreating the extensions the same way did not work. In the end, what the fix ended up being was changing the “delete voicemail” option in the voicemail section of the extensions configuration from yes to no.
In my troubleshooting, I used the inotifywait command to verify that messages were being written to the spool, and they were, but the message count was never increasing in the file names like they were in the extensions that worked, and they were not being written to the IMAP server either. At this time, I thought the problem must be in how asterisk was handling the voice mail.
I also tried a bunch of other things like restarting the asterisk server, checking voicemail.conf for lines containing [] or other phenomenon, and disabling the “user logon” and “user logoff” settings as suggested in some other thread.
Then, while I was trying to think of something else to do, I recreated the extension by adding one setting at a time and reloading the server after each press of the submit button, when I stumbled on the fact that voice mail worked before I changed the “delete Voicemail” option. I then fully recreated the other two extensions with this one difference from the original config, and it worked. Currently I have 8 extensions one way, and 3 the other, and they all work. Now I have the problem fixed by changing a freepbx setting, which makes me question where the problem really is.
Now that I have explained the situation, I guess the question is when (or optimistically if) this happens again, how to go about finding out what is really happening? I dont’ seem to find any information on how I should expect to follow the voicemail once it gets written and deleted from the spool’s INBOX folder, full debugging logs and the asterisk console reveal no kind of problem I can find on the server (or the mail server), and there appears to be no common denominator between the two incidents to indicate if the problem is at an asterisk level or a freepbx level.
Given the choice, I would rather find the problem before it strikes again rather than after, but I really can’t come up with any way to do so. I am hoping someone might offer some wisdom…