If your team spends a total of two hours over the life of the project debugging integration problems (start counting whenever you hear a developer cry "But it works on my machine!"), then you've already paid for a respectable build machine.[ed - emphasis is added].
Read the whole article. I have been convinced (and actually was able to convince my management as well) a while ago that this is a serious issue easily resolved. I am glad we were not, seemingly, the last to realize that.
My team has been using cruisecontrol for those hourly builds, and it has made a huge difference. It is not that we have failed builds very often, but now whenever the build goes awry - never an hour more since the last code check-in - everyone knows, and the pressure to find and fix the problem is on those who last touched the code. Fixes come fast. It is a pleasure. :)