Hola anubis respondiendo a tus inquietudes:
1. Es TIMESTAMP, no deberías tener problemas.
2. No existe ese tipo. Se consigue mediante generador y tigger:
Por ejemplo, este es un generador (sacado de la DB de ejemplo):
Código SQL
[-]CREATE GENERATOR CUST_NO_GEN;
Y este en un Tigger que ejecuta a dicho generador.
Código SQL
[-]CREATE TRIGGER SET_CUST_NO FOR CUSTOMER
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
if (new.cust_no is null) then
new.cust_no = gen_id(cust_no_gen, 1);
END
Asi trabaja Firebird, y en lo personal, no es liosa. Aunque hay que tener presente de que los generadores se escapan de las transacciones. Es decir que por más que canceles una transacción, el valor ha sido generado, asi que ten cuidado de cuando y como usarlo. Tal vez es aquí donde te está costando entenderle.
3. Existe el campo BLOB.
Con respecto a documentación:
Sitio Oficial
Firebird México
Y por supusto, Clubdelphi.
Saludos,