If the shipping charge rule is still present in the cart then the conditions for the charge rule must still be true. If the German shipping charge rule is based on "$_SESSION['germanShipping'] = on;" then on the European confirm page you should check to see if the value is set, and if it is unset it or change it's value so that it does not trigger the shipping charge rule. The code might look like this:
if(isset($_SESSION['germanShipping']) && $_SESSION['germanShipping'] != ""){
$_SESSION['germanShipping'] = "";
}
Since the session variables control the shipping charge, if you change the values or remove them then you should be able to trigger or clear a shipping charge.