Hola Javier!!
Hay 2 formas de hacerlo con FoxyDb,
* Automática, no tienes que generar ningún comando SQL y obtienes el ultimo ID sin problemas, pasos:
1 Abrir la tabla del servidor firebird
foxydb.Use("tabla")
2 Preparar el cursor devuelto para edición.
foxydb.CursorEdit("tabla")
3 Insertar un registro nuevo ya usando comandos de VFP
Append Blank o puedes usar insert into
4 Enviar a actualizar los datos al servidor con el parámetro .T. para que devuelva el ultimo Id insertado
foxydb.Update("tabla",.t.)
5 Mostrar el ultimo id insertado
wait windows foxydb.id_last
6 Guardar los cambios en el servidor
foxydb.Save
Si vas a usar la forma Manual, entonces primero tienes que iniciar una transacción, ya que el comando foxydb.SQL() activa una transacción de solo lectura para mejorar el rendimiento, realiza la consulta y la termina, por lo tanto tienes que iniciar una transacción de forma manual para que ya puedas enviar el comando SQL sin problemas, y luego solo guardar los cambios. seria algo así
Si usas la versión 1.11 seria así
foxydb.begin
* Aquí tienes que generar el SQL para insertar y devolver el ultimo id
foxydb.Sql("insert into ........") RETURNING ...
* Aquí mostrar el ultimo ID insertado
foxydb.save
Si usas 1.10
foxydb.Transaction(2)
* Aquí tienes que generar el SQL para insertar y devolver el ultimo id
foxydb.Sql("insert into ........") RETURNING ...
* Aquí mostrar el ultimo ID insertado
foxydb.save
NOTA: En teoría parece ser mas fácil de la forma manual, sin embargo tienes que investigar sobre como obtener el ultimo ID, generar el SQL Insert Into, y luego si ese valor se lo vas a guardar en otra tabla pues tienes que preparar el SQL Update, y todo eso de la forma automática lo haces usando comandos nativos de VFP, como seria un Replace para remplazar el valor de un campo en una tabla.
saludos
Antonio Meza