Are any of the values null? Comparison against a null value does not return true or false, it returns null and no more comparisons are made. This is because the database processes "or" statements until it gets a non-false result and null is not false. I know, it's confusing!
What type of database are you using? If it's Oracle, I would create a SQL Expression for each field that looks like this:
nvl({CIDS_2009_BUDGET_VOL.May}, 0)
This will return a 0 if the value is null. There's probably a way to do something similar in SQL Server and other databases (unless you're using something like Excel as a data source.)
The Selection formula would then look like this:
({%CHRG} <> 0
or
{%BUDGET_CHRG} <> 0
or
{%VOL} <> 0
or
{%BUDGET_VOL} <> 0)