Hopefully these guidelines will be of use:
1. Currency values via API can only be filtered in the base currency. You can do additional filtering by CostCurrencyType or RevenueCurrencyType. You could also do application side filtering.
2. Although they are displayed as rounded numbers on the screen, currency and duration fields are often stored as longer decimal values so you can't run a simple "=" or "<>" filter on them. Instead, the way to query them is by sending a range filter .
3. Here's an example for retrieving all projects with PlannedBudget=456:
"select Name,PlannedBudget FROM Project WHERE PlannedBudget >= 455.995 AND PlannedBudget <= 456.005"
4. You can use "=" or "<>" on Numeric and Percentage fields.
I hope this helps,