2nd block not showing up in D7
Remove the return $block in case 'calendar'
function businesshours_block_view($delta) {
$block = array();
switch ($delta) {
    case 'calendar':
        $block['content'] = businesshours_block_contents($delta);
        $block['subject'] = t('toto');
        break;
    case 'frontdoor':
        $block['content'] = businesshours_block_contents($delta);
        $block['subject'] = t('front');
        break;
}
return $block;
}

NOTE: Also check your visibility
Possible values are:

BLOCK_VISIBILITY_NOTLISTED: Show on all pages except listed pages.
'pages' lists the paths where the block should not be shown.
BLOCK_VISIBILITY_LISTED: Show only on listed pages. 'pages' lists the
paths where the block should be shown.
BLOCK_VISIBILITY_PHP: Use
custom PHP code to determine visibility. 'pages' gives the PHP code to
use. Most modules do not provide an initial value for 'visibility' or
'pages', and any value provided can be modified by a user on the block
configuration screen.