You should have a status column in your orders table to hold the status of the order. You can then use the session variable you have for the status as the binding in your store order summary server behavior.
As for the order details table it should really have a unique id column, this is always best practice. You should be storing the order id session variable that is created in the store order summary server behavior as the foreign key to relate the details back to the order.
When you are testing if you do not finish the transaction the session will remain intact. Since the value for the order id is held in a session variable you will just update the existing order rather than create a new one. To test this properly you should complete the order and make sure to clear out any temp data in your browser and close it before trying again.