You could define a Zone for the US 50 States plus DC and add that to Table Rate table shipping module ...
Then, Use the Zone Rates zones shipping module and define the US for the:
Skip Countries, use a comma separated list of the two character ISO country codes
Next, set Zone 1 for 00 which is for everyone else not defined (as in the Rest of the World) ...
Now, you need to customize the code for:
/includes/modules/shipping/zones.php
and add the code in RED:
Code:
// disable only when entire cart is free shipping
if (zen_get_shipping_enabled($this->code)) {
$this->enabled = ((MODULE_SHIPPING_ZONES_STATUS == 'True') ? true : false);
}
// bof: turn off for orders > $50.00
if (!IS_ADMIN_FLAG) {
$chk_total_amount = $_SESSION['cart']->show_total() - $_SESSION['cart']->free_shipping_prices();
if ($chk_total_amount > 50.00) {
$this->enabled = false;
}
}
// eof: turn off for orders > $50.00
// CUSTOMIZE THIS SETTING FOR THE NUMBER OF ZONES NEEDED