Además de lo ya explicado por cadetill... te recomiendo no llamar directamente al método (destructor) Destroy de ningun componente. No veo porque destruyes el DataModule1 alli... si form1 es el form principal, y Application es el owner de DataModule1, eso también provocará un fallo, pues un instante después, Application tratará de destruirlo de nuevo.
En conclusión, quitá la llamada a Destroy.
Por otro lado, si realmente te corresponde a vos destruir el DataModule, mejor usá su método Free, que llamará a Destroy. Es una recomendación de los diseñadores de la VCL que yo me he acostumbrado a seguir.
Hasta luego.