to throw my ideas in..
if your data has ids, you could use a command to get the ids for Jan2 and then try filtering them out in the selection criteria.
and there is my old standby favorite...use a stored procedure, you can put as much code as you want to filter out the 'bad data', though you might need to go in and revise your stored proc...or leave the code in to 'catch' future bad data.
Otherwise, I think you would need to go the route of DBlank and put in logic into the report to try and prevent the bad data from crashing the report.
HTH