It should work. This is the code that returns the weight for a configurable product:
/**
* Return product weight based on simple product
* weight or configurable product weight
*
* @param Mage_Catalog_Model_Product $product
* @return decimal
*/
public function getWeight($product = null)
{
if ($this->getProduct($product)->hasCustomOptions() &&
($simpleProductOption = $this->getProduct($product)->getCustomOption('simple_product'))
) {
$simpleProduct = $simpleProductOption->getProduct($product);
if ($simpleProduct) {
return $simpleProduct->getWeight();
}
}
return $this->getProduct($product)->getData('weight');
}
Source: Mage_Catalog_Model_Product_Type_Configurable
You see that if a simple product has been chosen (which is the case as soon as the product gets added to cart), the weight of the simple product is used.
So it seems something else goes wrong so that the simple product is not correctly attached to the configurable product in the quote.
To confirm, add a configurable product to the cart and look at the sales_flat_quote_item_options
table. You should see a row for the item with the option simple_product
and the id of the simple product as value. If not, this is the source of the error and something has messed up your quote.