Why do you use filters when it don't work as expected in all situations, and you have to make workarounds? Its obvious why PGDBE update operations are slow, because PGDBE has to update several more columns to keep track with ISAM. Do you, as a DB designer, consider the efficiency of your DB? Or its no matter to you if a DBF file which has 3 fields, after PG migration, will have 7 fields more and a few triggers added. Each DBF file in PGDBE will have a significantly larger size, and needs more time for updating. If its ok to you - fine, keep on that way.I'm still struggling with complex filters.
PGDBE is used in ISAM without much changes in the code (except the ones needed and some workarounds for filters),
Appending and updating records may take a little more time than with FOX or NTX.
The main difference between set filter and my method, is that filter don't use index. So, my method is much faster than filter, you should try it and compare the results. Once again, its the same technique which use SQL SELECT command. That is why is SQL faster than DBF in data searching and retrieving, it don't use filters. Filters help to shorten programming time, but I think that a true programmer should always look for the best solution and not for the shortest one.
I want to believe in your words: "I can use SQL directly or a mix or whatever I want. Migrating to PGDBE is just the first step.". But, the fact is that you are not doing that, you are still on the shorter way. I wish you to overcome this first step soon. I think that each programming task should be done in the right way. SQL programming should be done with SQL language.