Hi,
Why don't you run the report query directly from database by substituting the parameter values and then check what exactly is retrieved from the database for those date fields you want?
Based on the value retrieved for date fields, you can implement the required logic at report level or even directly to the database field in the query.
The reason for asking this is, you are telling you want to display 0 whenever the date_paid field value is null, but you are not sure whether it's null or something else. So, I feel, it would be best to check the values retrieved from the query used than checking at report level.
Hope this provides atleast some hint on what exactly retrieved for date_paid field.
Thanks,
Raghavendra