This is a question I asked on another forum which received some decent answers, but I wanted to see if anyone here has more insight.
The problem is that you have one
Try changing the SelectCommand timeout value:
DataAdapter.SelectCommand.CommandTimeout = 120;