So if the weight displayed is 0 and the product has weight, here are the possible areas in a default install that generate the values. Software that has been added or changes made to the existing software may be causing the issue.
includes/classes/shopping_cart.php <- this is where the the values are collected with the result to be provided by the method: show_weight().
includes/modules/pages/shopping_cart/header_php.php <- this is the file that is to collect the data to be displayed on the shopping cart page. It makes a call to the shopping_cart class to obtain the weight and to append the weight to a string. The string is $totalsDisplay.
includes/templates/YOUR_TEMPLATE/templates/tpl_shopping_cart_default.php <- where YOUR_TEMPLATE is the name of the template being used. If the file doesn't exist there, the YOUR_TEMPLATE is template_default. This file in a default install displays the value of $totalsDisplay that was collected above.
Any software that affects the value of $totalsDisplay or the calculation of the weight by the shopping_cart class or in the header_php.php file, or if another file beginning with header_php and ending with .php in the includes/modules/pages/shopping_cart folder could likely be the cause of this. There may be more to consider if the weight is based off of attributes and not just the main product.
Without additional information about what all is installed and changes made, little can be identified as the root cause other than suggesting the addition of some debug commands to capture information in key spots of the software.
From my review, I didn't see anything related to the potential shipping modules that would affect this determination on the shopping cart page. Later in the checkout process maybe, but not on the shopping cart page.