Since custom blocks are stored differently, the delta is a meaningless number instead of the friendlier block title. Could something like the following be added to get the delta from the block title, so that inserting custom blocks would be more similar to inserting module-provided blocks?

if($module=='block' and !is_numeric($delta)){
$blockinfo = db_query("SELECT * FROM {block_custom} WHERE info = :info", array(':info' => $delta))->fetchAssoc();
$delta=$blockinfo['bid'];
}