Jeg har tidligere haft et lignende problem, så jeg glæder mig til at se en løsning på dette spørgsmål. Aaron Bertrands kommentar til OP førte til Forespørgslen timeout, når den udføres fra internettet, men superhurtig, når den udføres fra SSMS , og selvom spørgsmålet ikke er en dublet, kan svaret meget vel gælde for din situation.
I bund og grund lyder det som om SQL Server kan have en korrupt cachelagret eksekveringsplan. Du rammer den dårlige plan med din webserver, men SSMS lander på en anden plan, da der er en anden indstilling på ARITHABORT-flaget (som ellers ikke ville have nogen indflydelse på din specifikke forespørgsel/lagrede proc).
Se ADO.NET kalder T-SQL Stored Procedure forårsager en SqlTimeoutException for et andet eksempel, med en mere fuldstændig forklaring og opløsning.