I have successfully used the Parenthesis () Syntax with the Contains functions in a routing rule condition.  Your first example should be working as you expect it to.

I would like to work with you on this issue in a WRC case as I believe that it will take some investigation in order to identify what is causing the rule not to fire.

I will email you shortly with a WRC number and a couple questions.

Jeff Morgan

Ensemble Support

If a database is missing from an installation, aka if you remove your old SAMPLES cache.dat, and THEN do the reinstall, that will populate a new, fresh SAMPLES database back to it's original state.