Why _block_load_blocks() does not work?
There should be at least a block, as the "Main page content" block is always associated with a region. You always need to select a region for that block, as the "-None-" option is not available when selecting a region for it.





The list of blocks can be altered from modules. If a module is removing the "Main page content" block from the list, it doesn't appear in the list, and the list would be empty, if there aren't any other enabled blocks. _block_load_blocks() contains the following code.

$block_info = $result-&gt;fetchAllAssoc('bid');
// Allow modules to modify the block list.
drupal_alter('block_list', $block_info);