Try sticking a textboxes in the report header or footer (as a quick and dirty debugging tool) and display the values that are going into the @StartDate and @EndDate parameters.
It sounds like you're getting a bad value that SSRS doesn't know how to interpret as a date. When you see the value on screen, it may give you more of a clue as to what's going on.
I hope this helps,
Rob