Can you copy and paste the filter expression into the thread? My guess is there's a trailing bracket or full stop that's off, or that your regional settings aren't happy.
Monarch, what with Datawatch being a US company, defaults to using commas as logical separators in If(expression,truevalue,falsevalue) formulae and such.
If your regional settings assume that the comma is a decimal character, this can give nonsense, which is why it's safer to use If(expression;truevalue;falsevalue).
Another Monarch quirk is .or. and .and. and .not. - do these date from the days of dBase III? - are you sure the "."s are all present and correct?