Try putting a break on he filteron line and then examine the filter. You could debug.print it if that helps, then you could copy it for the next step. If it looks correct, I'd create a test query on the table and add the filter as a Where clause. If you get no records for some but not others as before, the issue should be the filter. If you get records from the query but not the code, then I'd look deeper into the form and its code. What I would not do is us Between and have the later date come first. Also, you might find that the AND is null is the problem in some cases, if it should be OR.
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.