Tendrías otra solución fácil y no tienes que cambiar prácticamente nada.
Dejas el evento OnDataChange en blanco en el DataModule, aunque crees el evento con el código necesario.
Cuando creas el formulario, en el evento OnActivate del Form pones
Código Delphi
[-]TuDataModule.TuDataSource.OnDataChange := TuDataModule.TuRutinaDataChange;
y en el evento OnClose del Form deberás poner :
Código Delphi
[-]TuDataModule.TuDataSource.OnDataChange := nil;
De esta manera te debería funcionar sin problemas.