Phil, first off thanks for your reply before and sorry for the delay in replying...
Your solution to setup up conditional shipping methods can handle most scenarios.
I'm currently hitting a scenario where combined shipping can't work and I cant see a solution other than changing the way this module works.
A Book has 2 shipping methods. 1 price for local and 1 price for international. These are selected by shipping country... and the node cck field is set to any shipping method, only 1 option would ever need to be presented to the user.
A Ticket has 2 shipping methods available to everyone, 1 for insured delivery and 1 cheaper option for uninsured delivery of tickets. The user will always have the choice of 2 options.
If the user has a book and a ticket in their basket on the checkout page they'll get the option of choosing the book shipping price, or the 2 ticket shipping prices. 3 radio buttons.
Combined shipping is grouping anything with Any shipping method together into 1 radio button group when in reality it should have separate radio button groups for each of the products.
Does this make sense? I hope i've explained clearly enough. I'm looking at the code to see a way of implementing this but you may have some suggestions that might help or be interested in developing this...
BTW have you though about taking this module to drupal.org so we can work from git and have a better versioning system?