Even after the fix in #834848: Warning message regarding hook_update_last_removed() is not displayed is applied, there is still a situation where error messages can be generated, and not displayed: If there are modules that haven't set their schema version properly, a message is generated but not displayed *unless there is ALSO a schema update that needs to be applied*.
The message is something like
uc_cart module
uc_cart module can not be updated. Its schema version is 0. Updates up to and including 6202 have been removed in this release. In order to update uc_cart module, you will first need to upgrade to the last version in which these updates were available.
but there is code towards the bottom of update_script_selection_form() that does
<?php
if (empty($count)) {
drupal_set_message(t('No pending updates.'));
unset($form);
$form['links'] = array(
'#markup'=> theme('item_list', array('items'=> update_helpful_links())),
);
}
?>
which destroys $form when $count=0.