Frank, the idea was to use user_merge procs, which are callbacks at each package to handle the deletion.
For instance, when you call this for merge:
callback::merge::MergePackageUser::impl::as -from_user_id from_user_id -to_user_id to_user_id
if the to_user_id is empty, then it means "delete", and each package callback implementation should do the proper deletion mechanism. The user merge code is commited at oacs-5-2, so you can work on an implementation there.
The deletion should handle special cases, like for a forum contribution, putting something like special user "deleted user", etc.