Проблемът, който имате, е, че командата за заявка отнема твърде много време. Вярвам, че времето за изчакване по подразбиране за изпълнение на заявка е 15 секунди. Трябва да зададете CommandTimeout (в секунди), така че да е достатъчно дълго, за да може командата да завърши изпълнението си. „CommandTimeout“ е различен от „Connection Timeout“ във вашия низ за връзка и трябва да бъде зададен за всяка команда.
Във вашето събитие за избор на sql използвайте командата:
e.Command.CommandTimeout = 60
например:
Protected Sub SqlDataSource1_Selecting(sender As Object, e As System.Web.UI.WebControls.SqlDataSourceSelectingEventArgs)
e.Command.CommandTimeout = 60
End Sub