Если это SQL-сервер, с которого он извлекает данные, вы можете уничтожить SPID на SQL-сервере, что может позволить процессу CR завершиться более корректно; если вы используете IIS6, вы можете настроить рабочий процесс на автоматический цикл после фиксированного числа запросов или временных рамок. Создание нескольких рабочих процессов также может помочь.
Интересно, почему он зависает, будет ли он успешным, если вы подождете достаточно долго, пока завершится предыдущий запрос и текущий?
Было бы неплохо найти способ ускорить запрос; или большие отчеты запускаются в нерабочее время и доставляются пользователям.