Here's another beginner tip for an issue that had me hunting around for over an hour (Doh!). Since CFMX, the cfsetting tag has had an attribute called "requesttimeout". It allows you to force a long running page to use a longer timeout in seconds than is set in the administrator. I've used the cfsetting tag a few times since CFMX came out and I just figured it was one of those things that seems to not work as I expect sometimes. The requesttimeout attribute of the cfsetting tag is supposed to override any value set in the ColdFusion Administrator.
The keyword in that last sentence is override. It does not act to actually enable the request timeout feature of cf. If you don't have the checkbox and a default value set in the administrator, the value you set with the cfsetting tag doesn't have anything to override.
Your mileage may vary on this next point, but it is what caused my confusion for the longest time. If you don't have the checkbox in the administrator selected, you might expect all of your requests to run until they finish. What I have found is that in most cases, timeouts get taken over by the webserver settings. In my case, IIS has a cgi request timeout value that seems to kick in if I don't have request timeouts enabled in cf.