If there haven't been any changes to anything (environment or application...and you're 100% sure), then the only other thing that could have occurred is that the subset of data you are trying to retrieve has finally grown too large for your existing environment/resources to calculate and return the data in a timely fashion. I would start with sql profiler to see where the connection to sql is getting hung up, and would probably start looking at a way to archive old data to trim out some of the records that are no longer necessary. As always...additional resources can't hurt either
<a href="http://www.aspdotnetstorefront.com">Shopping Cart Software</a>