I agree that this is a bug. The scheduled date filter operates differently to all the others. If the date is null, then the row is excluded reguardless of the Exclude if null checkbox.
Baleks, I use TR with a filter exactly the way you want. Set the filter as follows.
Status: Everything except inactive.
Action Date <=: Today
Start Date <=: Today
The only drawback to these is that you cannot use Due Date because it screws around with the Action Date, otherwise it works as advertised. I filter on Start Date because I use it to postpone ASAP actions.
I suspect that the "Due Date" field is intended to be a Due-to-be-started date, rather than the due-to-be-completed date that I would like. If this interpretation is correct, the the way it works makes sense.
If the Schedule Date worked as advertised, then you could filter on start, follow-up and scheduled dates to get the result that you want.