If you look how a function is used to enable/disable based on free shipping ... you could build your own function that checks the weight and total to further control this ...
Code:
// disable only when entire cart is free shipping
if (zen_get_shipping_enabled($this->code)) {
$this->enabled = ((MODULE_SHIPPING_FLAT_STATUS == 'True') ? true : false);
}
Trace down via the Developer's Tool Kit the function zen_get_shipping_enabled that is located in the Catalog and Admin ...
The concept here is, if you return a true value then the shipping module displays ... if you return a false value from the function then the shipping module cannot display or vanishes from the checkout_shipping ...