Gracias por responder.
Ese era el código que ponia, pero no me funcionaba

me salia el error de "multiple rows in singleton select".
Extraño porque el codigo era primary key y no hay duplicados.
Al final he tenido que desistalar el IB EXPRES y Firebird, borrar toda referencia
y volverlo a instalar.
Ahora funciona bien.
Quizas fue el cambio de firebird 1.53 al 2, no lo se...
Se puede hacer algo así:
Código SQL
[-] select max(:campo) from :dataset into :ultimo;
Es para no tener que hacer un SP por cada tabla.
Muchas gracias.
Luis M.