El problema es que la consulta esta demorando mucho y cae el timeout del comando.
El valor por defecto de la propiedad CommandTimeout es 30 segundos, agrandalo a ver si es eso, y si es, despues puedes ver como agilizar la consulta
http://msdn2.microsoft.com/en-us/lib...ndtimeout.aspx