1) on the checkout-billing-details.php page, the action of the form is to post to the checkout-delivery.php page:
<form name="ecart_checkout_form" action="checkout-delivery.php" method="post">
Rule # 1 when working with forms:
All Form Processing must occur on the action page.
this means: you need to apply the behavior to set the session to the action (checkout-delivery.php) page.
2) in your shipping rule, you have the trigger:
Number of Items == 0
this will cause the shipping to apply only if the cart is empty, change that to > 0