Según creas los tipos de datos en Firebird, éste los convierte según el dialecto, precisión y escala elegidos, y lo almacena internamente con estos tipos:
Tabla de sistema RDB$TYPE:
Código:
RDB$TYPE RDB$TYPE_NAME
7 SHORT
8 LONG
9 QUAD
10 FLOAT
27 DOUBLE
35 TIMESTAMP
37 VARYING
12 DATE
13 TIME
16 INT64
Después, al crear los campos en delphi, según ese tipo de datos, se convierte al homólogo en delphi.
Oracle no sé como trabajará, pero muy posiblemente haga también algunos "ajustes" con los tipos de campo.
Saludos