Anybody who doesn't have something like mail_safe [1] installed is asking for trouble, no matter where he stores his business logic.
We could just as well be talking about S3 data, facebook posts, tweets, anything with (side) effects beyond the active database record in question.
You could imagine callbacks or observers that do all sorts of things:
ping an external service
touch another model or models
send an internal email
or does a combination of a bunch of stuff.
Things get even tougher when you start having flags that turn logic on or off. It has the potential to really become a mess, very fast.