Looking at this... I have found a solution that works if category counts are on.
In /includes/templates/your_template/sideboxes/tpl_categories.php,
$box_categories_array[$i]['count'] == 0
functions in about line 50 to control display of counts.
if ((CATEGORIES_COUNT_ZERO == '1' and $box_categories_array[$i]['count'] == 0) or $box_categories_array[$i]['count'] >= 1) {
$content .= CATEGORIES_COUNT_PREFIX . $box_categories_array[$i]['count'] . CATEGORIES_COUNT_SUFFIX;
}
In about line 31, add
$box_categories_array[$i]['count'] != 0 or
to get:
if ($box_categories_array[$i]['count'] != 0 or zen_get_product_types_to_category($box_categories_array[$i]['path']) == 3 or ($box_categories_array[$i]['top'] != 'true' and SHOW_CATEGORIES_SUBCATEGORIES_ALWAYS != 1)) {
// skip if this is for the document box (==3)
This only works if category counts are displayed(turned on in Configuration > My Store). "Categories with 0 Products Status" makes no difference.
If counts are turned off, $box_categories_array[$i]['count'] is always == 0 and can't be used for anything. This makes sense because a main point of turning it off is to save on db queries. Probably the only other way to have that info would be to query for the category and all of its subcats having no products_to_categories links (that part of the table empty).