Thank you for updating this module. If you

I'm testing this on a 1.5.6c upgrade and found a couple of issues

In admin copying a product with dim types kgs/cm and dimensions length 24, width 12, height 1.5
the copied product has dim types lbs/in and dimensions length 0, width 24, height 12

I made change to admin/includes/modules/copy_product_confirm.php insert statement line 72

Code:
INSERT INTO " . TABLE_PRODUCTS . " (products_type, products_quantity, products_model, products_image,
                                                      products_price, products_virtual, products_date_added, products_date_available,
                                                      products_weight,
                                                        products_weight_type, products_dim_type, products_length, products_width, products_height, 
                                                        products_ready_to_ship,
                                                      products_status, products_tax_class_id,
                                                      manufacturers_id, products_quantity_order_min, products_quantity_order_units,
                                                      products_priced_by_attribute, product_is_free, product_is_call, products_quantity_mixed,
                                                      product_is_always_free_shipping, products_qty_box_status, products_quantity_order_max,
                                                      products_sort_order, products_price_sorter, master_categories_id)
                  VALUES ('" . zen_db_input($product->fields['products_type']) . "',
                          '" . $products_quantity . "',
                          '" . zen_db_input($product->fields['products_model']) . "',
                          '" . zen_db_input($product->fields['products_image']) . "',
                          '" . $products_price . "',
                          '" . zen_db_input($product->fields['products_virtual']) . "',
                          now(),
                          " . (zen_not_null(zen_db_input($product->fields['products_date_available'])) ? "'" . zen_db_input($product->fields['products_date_available']) . "'" : 'null') . ",
                          '" . $products_weight . "', '0',
                                '" . zen_db_input($product->fields['products_weight_type']) . "',
                                '" . zen_db_input($product->fields['products_dim_type']) . "',
                                '" . zen_db_input($product->fields['products_length']) . "',
                                '" . zen_db_input($product->fields['products_width']) . "',
                                '" . zen_db_input($product->fields['products_height']) . "',
                                '" . zen_db_input($product->fields['products_ready_to_ship']) . "',
                          '" . (int)$product->fields['products_tax_class_id'] . "',
                          '" . (int)$product->fields['manufacturers_id'] . "',
                          '" . zen_db_input(($product->fields['products_quantity_order_min'] == 0 ? 1 : $product->fields['products_quantity_order_min'])) . "',
                          '" . zen_db_input(($product->fields['products_quantity_order_units'] == 0 ? 1 : $product->fields['products_quantity_order_units'])) . "',
                          '" . zen_db_input($product->fields['products_priced_by_attribute']) . "',
                          '" . (int)$product->fields['product_is_free'] . "',
                          '" . (int)$product->fields['product_is_call'] . "',
                          '" . (int)$product->fields['products_quantity_mixed'] . "',
                          '" . zen_db_input($product->fields['product_is_always_free_shipping']) . "',
                          '" . zen_db_input($product->fields['products_qty_box_status']) . "',
                          '" . zen_db_input($product->fields['products_quantity_order_max']) . "',
                          '" . zen_db_input($product->fields['products_sort_order']) . "',
                          '" . zen_db_input($product->fields['products_price_sorter']) . "',
                          '" . zen_db_input($categories_id) . "')");
to

Code:
    $db->Execute("INSERT INTO " . TABLE_PRODUCTS . " (products_type, products_quantity, products_model, products_image,
                                                      products_price, products_virtual, products_date_added, products_date_available,
                                                      products_weight,
                                                        products_weight_type, products_dim_type, products_length, products_width, products_height, 
                                                        products_ready_to_ship,
                                                      products_status, products_tax_class_id,
                                                      manufacturers_id, products_quantity_order_min, products_quantity_order_units,
                                                      products_priced_by_attribute, product_is_free, product_is_call, products_quantity_mixed,
                                                      product_is_always_free_shipping, products_qty_box_status, products_quantity_order_max,
                                                      products_sort_order, products_price_sorter, master_categories_id)
                  VALUES ('" . zen_db_input($product->fields['products_type']) . "',
                          '" . $products_quantity . "',
                          '" . zen_db_input($product->fields['products_model']) . "',
                          '" . zen_db_input($product->fields['products_image']) . "',
                          '" . $products_price . "',
                          '" . zen_db_input($product->fields['products_virtual']) . "',
                          now(),
                          " . (zen_not_null(zen_db_input($product->fields['products_date_available'])) ? "'" . zen_db_input($product->fields['products_date_available']) . "'" : 'null') . ",
                          '" . $products_weight . "',
                                '" . zen_db_input($product->fields['products_weight_type']) . "',
                                '" . zen_db_input($product->fields['products_dim_type']) . "',
                                '" . zen_db_input($product->fields['products_length']) . "',
                                '" . zen_db_input($product->fields['products_width']) . "',
                                '" . zen_db_input($product->fields['products_height']) . "',
                                '" . zen_db_input($product->fields['products_ready_to_ship']) . "',  '0',
                          '" . (int)$product->fields['products_tax_class_id'] . "',
                          '" . (int)$product->fields['manufacturers_id'] . "',
                          '" . zen_db_input(($product->fields['products_quantity_order_min'] == 0 ? 1 : $product->fields['products_quantity_order_min'])) . "',
                          '" . zen_db_input(($product->fields['products_quantity_order_units'] == 0 ? 1 : $product->fields['products_quantity_order_units'])) . "',
                          '" . zen_db_input($product->fields['products_priced_by_attribute']) . "',
                          '" . (int)$product->fields['product_is_free'] . "',
                          '" . (int)$product->fields['product_is_call'] . "',
                          '" . (int)$product->fields['products_quantity_mixed'] . "',
                          '" . zen_db_input($product->fields['product_is_always_free_shipping']) . "',
                          '" . zen_db_input($product->fields['products_qty_box_status']) . "',
                          '" . zen_db_input($product->fields['products_quantity_order_max']) . "',
                          '" . zen_db_input($product->fields['products_sort_order']) . "',
                          '" . zen_db_input($product->fields['products_price_sorter']) . "',
                          '" . zen_db_input($categories_id) . "')");

Lettermail shipping option was showing when weight less than max lettermail weight but not "letter" packaging setup in sellonline profile

I made change in includes/modules/shipping/canadapost.php

Code:
  
  $canadapostQuote = $this->_canadapostGetQuote();
    
    // Twitch bugfix - add lettermail switch control
    // orginal code    if ($this->lettermail_available && ($shipping_weight <= $this->lettermail_max_weight))
    if (MODULE_SHIPPING_CANADAPOST_LETTERMAIL_STATUS == 'True' && ($shipping_weight <= $this->lettermail_max_weight))
to

Code:
 $canadapostQuote = $this->_canadapostGetQuote();
    
    // Twitch bugfix - add lettermail switch control
    // orginal code    if ($this->lettermail_available && ($shipping_weight <= $this->lettermail_max_weight))
    if (MODULE_SHIPPING_CANADAPOST_LETTERMAIL_STATUS == 'True' && $this->lettermail_available)