There is no way for me to tell without looking at the code and debugging. If you provide FTP access I'll take a look.
If you create a page (call it debug.php) and add this code to it:
<?php
@session_start();
var_dump($_SESSION);
?>
Visit that page after the shipping is calculated.
That would show you the communication between your site and the shipping provider and may shed some light on why the charge is so high.