>What happens is, the third table Assnlog doesn't get a record added to it. Well that's how it
>looks. If I check the record count of 'assnlog' just before the END TRANSACTION in the code
>below, the count has gone up by 1 and you can browse the table and see the record. Immediately
>after the END TRANSACTION the record count goes back down by 1 and the record has disappeared.
That means the header has been corrupted. You can cause the header to be re-written by adding a column, saving the change, then deleting it and saving the change.
The problem has been solved in VFP8: if the header is corrupted, you will get an error, instead of silently losing records.