Jeff, I didn't survey how many of the core tables cascade delete their primary keys up to their acs_objects, but one of the first packages I checked was service contracts -- which does:
create table acs_sc_contracts (
contract_id integer
constraint acs_sc_contracts_id_fk
references acs_objects(object_id)
on delete cascade
constraint acs_sc_contracts_pk
primary key,
etc...
create table acs_sc_operations (
operation_id integer
constraint acs_sc_operations_opid_fk
references acs_objects(object_id)
on delete cascade
constraint acs_sc_operations_pk
primary key,
etc...
I concluded (perhaps incorrectly) that SC was a "modern" package that came closer to implementing Best Practices than some of the older packages that are more of a direct port from 3.x.
Anyway, the reason that I left these changes dangling in unapplied patches was because the practice is inconsistently applied in the toolkit right now, and you, Don, et al. are the dudes to make this call.