Hola,
Yo no creo ODBC's dinámicamente, sino que me limito a crear la conexión para mi aplicación capturando los datos de un archivo de texto.
Código:
GUbicacionAplicacion:=ExtractFilePath(Application.ExeName);
AssignFile(fich_setup,GUbicacionAplicacion+'Configuracion.txt');
{$I-} Reset(fich_setup); {$I+}
if IOResult<>0 then
begin
ShowMessage('No encuentro el archivo de configuración inicial Configuracion.txt.');
Close;
end
else
begin
ReadLn(Fich_Setup,Cadena); GConexion:=Cadena;
CloseFile(Fich_Setup);
// establecer conexión con la base de datos
ADOQuery1.Connection:=ADOcn1;
ADOQuery2.Connection:=ADOcn1;
Espero que esto te oriente un poco