BDE "Table is Busy" error

Okay, the basic facts-
 -I'm using D2 (can't afford the upgrade yet), with Paradox 7 tables.
 -There are 3 physical tables: Parties, Guests, & Orders
 -There are 5 TTable components: Parties, Guests, Orders (no Lookup or
Calculated fields in any of those), GuestByParty (MasterSource- Parties),
OrderByGuest (MasterSource- GuestByParty)

The Master-Detail table components do work correctly in the DBGrids in my
program, so they seem to be defined correctly...

In the OnBeforeDelete event for Parties, I delete all Guest records
related to the Party being deleted by using a "While not GuestByParty.EOF
do Delete" command.  Similarly, in the OnBeforeDelete event for
GuestByParty, I delete all Orders related to the Guest being deleted via
"While not OrderByGuest.EOF do Delete".  This works correctly too, at
least in that the records I WANT to delete, and only those, are deleted
from the Physical tables!

HOWEVER... in any subsequent attempt to do anything to the Guests -OR-
Orders physical tables (such as EDIT, DELETE, BatchMove, etc.), except
VIEW them, results in a BDE "Table Guests.db (or Orders.db) is Busy".
This condition continues even after I terminate the program (or Delphi
IDE) completely.

Can ANYONE offer a suggestion as to what I'm doing that is fouling up the
Guests and/or Orders tables!?!?!?!

Please EMAIL me a copy of your answer, as it's sometimes hard to find the
answers in the newsgroup!

Thanks in advance!!!

 Jim 8^)