I think that I can see both issues when I check on your checkout page. The error you are getting is letting you know that the currency code is not set correctly. Rite now on line 119 you have it set to AU, it needs to be set to AUD to work properly. Here is a link to the currency codes that PayPal uses:
e_howto_api_nvp_currency_codes
As for the issue with it not going directly to PayPal when you click on the button from your cart page this is occurring because the trigger on your checkout page for the Express Checkout is not setup correctly. Have you modified the Authentication for PayPal Express Checkout server behavior that is on this page? The reason I ask is because your trigger for this server behavior does not look like the one that is on my default page. On your checkout page you should update what is currently on line 101 with this line of code:
if (isset($_GET['ExpressCheckout']) || ($_SERVER["REQUEST_METHOD"] == "POST") && (isset($_SERVER["HTTP_REFERER"]) && strpos(urldecode($_SERVER["HTTP_REFERER"]), urldecode($_SERVER["SERVER_NAME"].$_SERVER["PHP_SELF"])) > 0) && isset($_POST)) {
This should make it so you go directly to PayPal when you click on the checkout button from the cart page. I also removed your posted files as they contained some info about your PayPal account.