How about if you create a new table with 3 attributes, BOName, ID, UnitsID
Every time you create a relationship in the other tables, you add a record to this table. (Yea, lot of work!)
Then, easy to check to see if existing record in this table for a unit.
2nd, choice, if your SQL back end supports foreign keys, create one in each BO that references this table, then the backend will stop any deletions. (would be easy to call a SP to do the delete and return true of fail.
Bruce