Had an issue recently where a user of one of my solutions had pretty terrible bandwidth to the SQL server where they needed to submit data. The default timeout value on submits is 30 seconds. As it turn out, the default for queries too is 30 seconds. You can reset that value fairly easily in code. Here is an example of code that you put behind the submit button to increase the timeout value, do the submit and throw up a thank you message:
XDocument.UI.Alert("Thanks for using the AD Data Collection Form");
I'm pretty sure that if you tweak the value for the timeout, it applies to every query and the submit behavior in your form.