Caro Walney,
Se você pretende usar todos os recursos de bancos de dados que o VFP 6.0 oferece, recomendo utilizar a "Integridade Referecial" do banco DBC e não mais em PRG ou FORM, através de SET RELATION.
Lembre-se: questões do banco de dados deverão ser resolvidas pelo próprio banco de dados; nunca pelo aplicativo em si.
Quando você usa SET RELATION em um PRG, por exemplo, e abre o banco no modo interativo do VFP e deleta um registro numa tabela "pai", por exemplo, o banco de dados nada fará como os registros das tabelas "filho", tornando-os órfãos, pois não sabe o que fazer, uma vez que a relação está "amarrada" no seu aplicativo, entendeu?
SET RELATION é coisa da época do Clipper, que não possuia um "gerenciador de banco de dados", trabalhando apenas com o que, pra nós hoje, conhecemos como "tabelas livres". Como não havia um "repositório" para estas tabelas, não havia como manter as relações além do limite dos aplicativos.
Com o VFP e seu banco DBC isto é totalmente diferente e bem melhor!
O ideal é que, seja no ambiente do VFP ou no seu aplicativo, o banco de dados tenha condições de, pelo menos, manter a consistência de seus dados.
Desta forma, recomendo a utilização de TRIGGERS, VALIDAÇÃO DE CAMPOS, VALIDAÇÃO DE REGISTRO, STORED PROCEDURES (com a utilização de BEGIN TRANSACTION ... ROLLBACK ... END TRANSACTION) e INTEGRIDADE REFERENCIAL.
Assim fazendo, você estará fazendo jus ao utilizar o VFP e seu banco nativo e, aí sim, encontrando grandes diferenças entre usar o Delphi ou VB no manuseio de dados.
Outra coisa importante... no futuro, se desejar implementar a utilização de Componentes COM feitos em VFP, os mesmos trabalharão com perfeição em cima dos recursos e funções implementadas em seu banco de dados DBC.
Carlos Moisés