Es una pregunta interesante y además con truco incluido.
En principio no. Cuando se va a destruir el Datamodule, se destruye antes todos los componentes que tenga dentro, tables, database, etc, si estan abiertos se cierran primero y despues se destruye.
Si una de las tablas está en edición (el usuario está modificando algo) y cierra el programa, esos cambios no se guardarán; el usuario puede esperar que si se guarden !!.
Se puede usar un bucle recorriendo todos los componentes del Datamodule, si son tablas y estan en modo edición, hacer un Post de esa tabla (cuidado con relaciones Maestro-Detalle).
Si usas Database1.Close;
tambien se cierran automáticamente todas las tablas que esten asociadas a ese Database. Sin embargo, al abrir (connected:= true) el database,
no se abren las tablas asociadas.
Lo mismo ocurre con la Session, se cierra y se destruye al destruir el Datamodule.
Por cierto: A preguntas distintas, crear distintos hilos
Un saludo