Conditional text using numeric conditions

I'm trying to print certificates for a group of athletes and need to have them reflect their standing in the event. The certificate has a number of conditional text fields, such as to translate their gender from M/F to male/female, which are working.

However the ones that are doing numeric comparisons aren't. The comparison always seems to return "true" so the "then" condition is printed. For example Run Results.Race.place == 1 is the condition but the translation text is always "first place", never blank.

The slightly more complex Run Results.age > 18 AND Run Results.age < 60 always prints adult. I at one point had it print an else (senior) but that branch was never taken.

I've checked the .odb file and the age & place fields are both of type decimal.

What am I doing wrong?

Sorry, the second condition is missing the ".Race" after the Run Results". I removed some extraneous data from the spreadsheet's name for example purposes but messed it up. The original spreadsheet name was much longer and included event and date information that isn't relevant.