I think the problem is that "[TempVars]![startDate]" and "[TempVars]![endDate]" cannot be evaluated as dates. They are being seen as text, so when compared to a date, it chokes. Try this:
Code:
=[rptReworkPass].[Report]![CountOfStatus]/(([rptDailyPaintData].[Report]![AccessTotalsDefect1])-(Nz(DCount("*","tblRework","[Status] = 'WIP' And [Date] = Between #" & [TempVars]![startDate] & "# And #" & [TempVars]![endDate] & "#),0)))
***
FYI, be aware that "Date" is a reserved word in Access. You shouldn't use reserved words as object names. Also, "Date" is also a function name... using reserved words will cause you headaches and they are not very descriptive. "Date" of what??
See: Problem names and reserved words in Access
http://allenbrowne.com/AppIssueBadWord.html