Banco de Dados não retorna Timeout.
O que você pode fazer é o seguinte...
1-Verifique se nãoe está ocorrendo nenhum lock no banco.
2-Rode a mesma consulta pelo Management Studio e veja o resultado.
3-Se no Management Studio estiver rodando legal a consulta, veja as configurações do IIS abaixo:
Threads per Processor Limit
Asp Queue Lenght
MaxConcurrentRequests (somente para Asp.net 2.0 + IIS 7.x)
Os dois primeiros parâmetros do IIS você precisa configurar direitinho, pois aumentar muito o valor pode gerar Page Not Found 404, e reduzir muito pode gerar TimeOut.
Espero ter ajudado.
http://ricardomura.spaces.live.com