En terminos generales se hace asi¨:
En una tabla especial guardas los nombres de todas la tablas que van
usar el metodo de autoincremento, en otro campo guardas el numero,
es decir, el valor del ultimo registro añadido para cada tabla.
Cuando quieras definir el numero del nuevo registro, llamas un prg que
hace lo siguiente: en la tabla especial busca la tabla actual, bloquea ese
registro (con lock, por si acaso dos usuarios esten creando registros al mismo tiempo), lee el valor numerico actual, lo incrementa en uno y lo
guardas en una variable (desbloqueas el registro), y al final con el RETURN regresas el valor de la variable. Asi la tabla actual ya tiene un
numero autoincrementado.
NOTA
En VFP 8 ya existe un campo que hace eso automaticamente.