John,
Not sure whether anybody else suggested it - but this can happen if there's another copy of the table along your path, that gets opened and quietly packed instead of your intended target. If the table is included or even referenced in your project, that can cause this on your development machine.
You could do a gofish search in your project/folder or for debugging you can insert a wait window nowait dbf() to confirm the table that's actually being packed.
"... They ne'er cared for us
yet: suffer us to famish, and their store-houses
crammed with grain; make edicts for usury, to
support usurers; repeal daily any wholesome act
established against the rich, and provide more
piercing statutes daily, to chain up and restrain
the poor. If the wars eat us not up, they will; and
there's all the love they bear us."
-- Shakespeare: Coriolanus, Act 1, scene 1