>So the grid having focus when the ZAP occurred might cause an error not then, but later down the road?
Yep, most typically when it tries to refresh and finds itself in a mess.
The way to test for this is to try to set grid's .RecordSource to "" before, or immediately after zapping the table. This will, of course, rebuild the grid to the currently selected alias, but if I remember correctly, your form is already in the process of harakiri at that time, so losing grid's structure doesn't really hurt.
Still, this is all too weird for me - I'm zapping the underlying cursors of my grids quite often, in more than half of my forms, and never had this sort of error. Maybe, just maybe, your grid has a stored recno() of the current record somewhere, and uses that in some of the dynamic* properties?