thoughts:
1. it is enforcing a join that changes record selection - not likely as you state the field is already in use in the report so the join should already be enforced
2. if it is a string - it has lead or trail spaces that are part of the string so it does not match your criteria - try trim(field)="value"
3. if it is numeric it has decimal values that you are not seeing in the UI - try a ROUND()
you can 'debug' by adding a formula field that is the same as your select criteria and place it on the detail section to see how it interprets the formula (TRUE=keep, FALSE=exclude) and then play with the formula to look for possible issues like the lead or trail spaces.
Edited by DBlank - 11 Mar 2015 at 6:23am