:dependent for not destroying

Now if there was just a built-in way to have something like :dependent
=> :deny we'd be set.

By the way, what is the best way to support the "deny delete"
association rule. Just to clarify this is saying "Deny deletion of the
parent object if it has one or more children." This rule is often
useful to ensure referential integrity.

Example:
Scenario 1: An admin creates a new product with item number 1010. It
is realized later that the item will never be sold. Since no orders of
the product exist in the system it's fine to delete the item.

Scenario 2: It is discovered that an existing product with item number
1001 is no longer available to be sold. The admin attempts to delete
the existing product, but there are outstanding orders containing
product 1001. It's not good to use either :dependent => :destroy
nor :dependent => :nullify in this scenario. You can't simply let the
system automatically delete all orders containing product 1001. You
must first resolve the orders (child objects) before deleting the
product object.

Does Rails have built-in support for this common referential integrity
rule?

If I understood you correctly I think this plugins does what you want.

http://agilewebdevelopment.com/plugins/dependent_protect_option