I don't know which version of UC your using but you'll need to have the 'Workflow-ng' module installed and then create a configuration for this module that calls the "get shipping quote" action. I'm guessing this will fix it up for the admin as well as the front end. Seems to work on the latest version in Bazaar. You can have this setup automatically if you implement the workflow-ng hook_configuration() function as in the uc_ups module.
This is such a mess, I got half way though debugging and realised that most of this rule checking code could be done with 1 sql statement per rule class if you make sure all the weight units in the table are converted to the same type and the regions table is cleaned up, so I'm half thinking I should rewrite it, but if you have it working zmove then post it up and I'll forget this mad idea...

