No hace falta que haga llamadas recursivas, puedes provocarlas por un simple fallito, imagina esta secuencia.
Llamas a Append, y allí cambias el valor de un campo, y despues tienes puesto que en el Onchange de un campo haga tal o cual cosa.... ya se están provocando llamadas "silenciosas" que se te pueden pasar por alto. Sé que éste no es tu caso, ya que dices que no tienes eventos asignados, pero es un ejemplo de lo que puede ocurrir.
Fallos en una Base de datos puede haber miles y miles, si no tienes eventos asignados, se te puede ir por peteneras y no enterarte de nada
los ShowMessages es una alternativa cuando estas desarrollando el programa en tu ordenador, tambien podrías hacer un simple fichero de texto e ir añadiendo los mensajes a ese fichero. Siempre puedes enviar un millon de mensajes para que una sola ejecución, saber donde falla.
Suerte !!