I did not see any errors after logging into PayPal I was redirected back to the confirm page where I can see all of the details of the transaction minus the shipping charges. If you are getting to the checkout failure page then you will need to add in the debug code to this page to determine what the problem might be. You can get the details about the transaction by putting in this code on your failure page:
<?php
if(!session_id()) session_start();
echo("Direct Pay Full Request :<br />");
echo("<code>".isset($_SESSION["PP_DirectPayment_postedValues"])?$_SESSION["PP_DirectPayment_postedValues"]:""."</code><br /><br />");
echo("Direct Pay Full Response :<br />");
echo("<code>".isset($_SESSION["PP_DirectPayment"])?$_SESSION["PP_DirectPayment"]:""."</code><br /><br />");
echo("PayPal Express Checkout requests and responses :<br />");
echo("Auth request: ".isset($_SESSION['ECO_Auth_Request'])?$_SESSION['ECO_Auth_Request']:""."<br /><br />");
echo("Auth Result: ".isset($_SESSION['"ECO_Auth_Result'])?$_SESSION['ECO_Auth_Result']:""."<br /><br />");
echo("Get Request: ".isset($_SESSION['ECO_Get_Request'])?$_SESSION['ECO_Get_Request']:""."<br /><br />");
echo("Get Result: ".isset($_SESSION['ECO_Get_Result'])?$_SESSION['"ECO_Get_Result']:""."<br /><br />");
echo("Preocess request: ".isset($_SESSION['"ECO_Process_Request'])?$_SESSION['ECO_Process_Request']:""."<br /><br />");
echo("Process Result: ".isset($_SESSION['ECO_Process_Result'])?$_SESSION['ECO_Process_Result']:""."<br /><br />");
?>
As for the shipping charge it should show on the confirm page if it has been triggered. After updating the shipping charge rule did you upload your cart files to the server? You will need to do this before you can see the shipping charge. If you have any further problems with the shipping post back with a copy of your cart in a zip archive.