>Since you can't issue VALIDATE DATABASE RECOVER from within a program, how would you accomplish any DBC - DBF discrepancies? Specifically, adding an index to a table in a DBC and getting an error that the DBC is missing that (structural) index for that table?
I've been using Stonefield Database Toolkit, which handles this task beautifully; it has the ability to update table structures and indexes in the field through updates to its supporting metadata tables. It also handles data recovery, reindexing, packing and more, and provides some very useful extensions to the database container. It's paid for itself many times over just in easing the process of updating .DBCs without major headaches once things are already up and running in the field. And it integrates well with most of the major commercial frameworks.