Buenas, ante todo gracias por responer, puede que el código no sea del todo claro, es normal, ya que no es el original así que no le hagas mucho caso a los métodos como Self.Close y demás.
Respecto a lo de los dos procedures que uso: pCargar_datos1 y pCargar_datos2, para que quede claro funcionan igual, sólo que cada uno es para una tabla diferente, p.e: tabla clientes y tabla facturas. Y como úso cada proceso para la carga de los datos desde fichero para cada tabla...
De todas formas, y perdon si no me he explicado muy bien jejejeje, ya sé que lo que quiero ( que se vea el progreso de la barra de progreso xD ) se puede hacer sin el Application.ProcessMessages, sustituyendolo por el Repaint del Form. Lo que pasa es que veo en muchos sitios que usan Application.ProcessMessages para "refrescar" la barra de progreso, y de hecho funciona. PERO al reutilizarla, es decir, al usarla con el pCarga_datos1 y despues con el pCarga_datos2, pues peta con el error que puse en el primer mensaje, y bueno REPITO que el problema lo tengo solucionado usando el método Repaint, sólo que me picaba la curiosidad el saber por qué con Application.ProcessMessages peta y con el Repaint va a las mil maravillas jejejeje
De todas formas, gracias por haber contestado!
Un saludo.