podiras hacer una funcion en tu dll que te retorne el datamodule pero casteado como longint, recordando que todos los tipos derivador de Tobject (incluidos forms y datamodules) son punteros:
Código Delphi
[-]
library Data;
uses
SysUtils,
Classes,
forms;
{$R *.res}
function obtenerDataModule: longint;
var
oDataModule : TDataModule;
begin
oDataModule := TDataModule.create(Application.mainForm);
result := longint(oDataModule);
end;
exports obtenerDataModule;
end.
y en tu aplicación que recoge los valores lo vuelves a castear:
Código Delphi
[-]
miModulo = TDataModule( obtenerDataModule );