Is it possible to get point-in-time membership data?
Since the status is based upon the start and end date and changes with the cron job, can you just leave the status off and select the date range.  Anyone who had a start date before the date in question and an end date after that date should have been a member on that date.  

So...
Select custom date range for start.
For From leave blank (the beginning of time).
For To: put the date in question.  

Select custom date range for end.
For From put the date in question plus one day.
For To: leave blank.