Thanks again for all the help and just to let you know I think I’ve fixed it.
I was looking over this bit again (it starts on line 67)

12 FEB 04 MBeedell NO specified country (or *) then use this zone for all shipping rates
if ($dest_zone == 0) {
for ($i=1; $i<=$this->num_zones; $i++) {
$countries_table = constant('MODULE_SHIPPING_ROYALMAIL_ZONES_COUNTRIES_' . $i);
if ($countries_table == '' or $countries_table == '*') {
$dest_zone = $i;
break;
}
}
}

It seemed to say that if the zone wasn’t accepted to return a 0 so I commented out the lot and it sorted it. Now it just comes up with “No shipping available to the selected country”
Thanks again for all your help