1) the on change:
onchange="document.getElementById('checkoutForm').submit(); document.ecart_checkout_form.shipping_method.value = document.ecart_checkout_form. shipSelect[document.ecart_checkout_form. shipSelect.selectedIndex].text"
should be reversed:
onchange="document.ecart_checkout_form.shipping_method.value = document.ecart_checkout_form. shipSelect[document.ecart_checkout_form. shipSelect.selectedIndex].text; document.getElementById('checkoutForm').submit(); "
2) The shipping method session should still have the number, the number needs to be passed to the shipping lookup, you need to set another session to capture the label
so you have one session that captures the number that is passed, and another session that is capturing the label.