I was wondering if this kind of thing will work:
Let's say I have two tables: COMPANIES and ADDRESSES. Each company can have only one address. Simplified schema would look like this.
Maybe, instead of foreign keys, using triggers could be a solution to your problem.
create trigger addr_delete after delete on companies for each row begin delete from addresses where id=old.address_id end