The override on the Free Shipping that you are using is controlled via the Order Total Module ... Shipping ...

There are other methods to have Free Shipping such as:

0 weight when 0 weight means Free Shipping

Product is marked Always Free Shipping

Product is Virtual

For this, there is the function added to the shipping module to control:
PHP Code:
$this->enabled = ((MODULE_SHIPPING_ROYALMAIL_STATUS == 'True') ? true false); 
So to get technical, in your case that line should read:

PHP Code:
      // disable only when entire cart is free shipping
      
if (zen_get_shipping_enabled($this->code)) {
       
$this->enabled = ((MODULE_SHIPPING_ROYALMAIL_STATUS == 'True') ? true false);
      } 
This would turn off the Royal Mail when a Product is marked as Always Free Shipping or a zillion other reasons ... and you would have installed the Shipping Modules Free Shipping freeshipper

That would only show when the shipping is Free and the other shipping modules should be turned off ...

Next, you have an additional condition or criteria for when to offer Royal Mail ...

This is where you can make your own function to work in a similar manner ...