Podes lanzar la ejecución del stored proc. desde un hilo diferente al principal, con lo que tu aplicación seguirá respondiendo al usuario normalmente.
Para ello, podes buscar en la ayuda los mecanismos utilizando un TThread. Incluso hay un demo que te aclarará algunas cosas.
Con respecto al application.ProcessMessages, puede servirte para mantener responsiva tu aplicación solamente cuando se llama dentro de un bucle que tarda mucho tiempo en ejecutarse, pero no es el caso de un sp.
Hasta luego.
