Hola.
Me olvidé de comentar que utilizando dos forms y un DataModule, probé todas las combinaciones que se me ocurrieron con los Forms y DataModule en autocreación y con el IBDataSet abierto en diseño.
También creando todo en ejecución con el IBDataSet cerrado, abriéndolo en el evento
OnShow del tercer Form inclusive dejándolo abierto desde el evento
OnCreate del DataModule... creo que no dejé nada en el tintero pero
no pude lograr reproducir el error. Siempre estuvo asignada la propiedad
Database del
TIBDataSet.
El único modo que logré que me mostrase la excepción ya sea al IBDataSet del DataModule o agregando otro IBDataSet del mismo nombre al Form y abrir este, fué no asignando valor a la propiedad
Database en alguno de ellos. Es decir que probé todo lo que normalmente hago y lo que no.
Estoy convencido a ojos cerrados que no es un problema de Delphi. En aplicaciones SDI, o en MDI donde además de los DataModule de conexión, utilizo muchos
TDataModule con muchos
TIBDataSet en cada uno; jamás pero jamás me sucedió algo así. (aunque prácticamente casi ni utilizo el autocreate).
Hay algo que se nos escapa,
por no disponer del código, que está 'vaciando' el valor de la propiedad
Database del
TIBDataSet (o bién se está abriendo en otra parte donde aún no le fue asignado el IBDatabase).
Saludos.