do predicates in Ubercart really work? I´m trying to update a shipment cost for different zones of a country 
(using predicates, conditional actions)

Using the trigger Getting shipping quote via Flat Rate
class uc_flatrate, activated , I´m trying to modify the rate..

Still the trigger doesn´t get called, 
I tried to modify the objects with php , didn´t work , 
then i tried a simple test to display a message to the user, didn´t work..

then I tried to write a simple text into a file to see if the event gets called... didn´t work

How can I run a php script when I press calculate shipment cost? (or whenever the shipment cost is calculated) ?
To directly answer your question, yes, Predicates work. I use them extensively at a D6 Ubercart site of mine. Aside from that, my store is all digital goods, so no shipping.