When setting the DataFilter.Expression property to an expression that contains negative values, the DataFilter ignores that condition.
Please refer to the attached sample project.
Workaround:
FilterDescriptor fd = new FilterDescriptor("DescriptorItem1", FilterOperator.IsGreaterThan, -5);
this.radDataFilter1.DataFilterElement.AddChildNodes(fd, this.radDataFilter1.DataFilterElement.Nodes[0]);