>>Have a look at VFP8's SET TABLEVALIDATE. Seems you could remedy the situation by setting it to 0, running a PACK, then going back to default setting.
>PACK wouldn't help if there are no deleted records in the table.
My preferred method, when possible, is:
ALTER TABLE foo ADD COLUMN baz C(1)
ALTER TABLE foo DROP COLUMN baz
That forces the header to rebuild, and you don't have to worry about whether there are deleted records.