The integrator QUAD (which is called in a nested way by DBLQUAD) has an internal limit on the number of function evaluations it will perform. This is to prevent it from wasting a lot of time on problems that cannot be solved. Unfortunately, it sometimes causes it to quit before it has solved a problem that it can solve. A possible workaround in some cases is to split the domain into pieces and add the results over each piece. Another possible workaround is to loosen the tolerance and accept a less accurate result.
You may have more luck with QUAD2D, which in most cases is a far superior code to DBLQUAD, but take care that you do not use the tactic of setting the integrand function to zero in order to integrate over a non-rectangular region. QUAD2D is designed to accept function handles for that situation. QUAD2D also lets you override the default limit on the number of function evaluations.
INTEGRAL2 is a new function in the 2012a release. It is a new code but actually based on the algorithms of QUAD2D or QUADGK, depending on the inputs. Although the old numerical integration codes have not been deprecated as yet, INTEGRAL, INTEGRAL2, and INTEGRAL3 are now the preferred functions for numerical integration in 1, 2, and 3 dimensions, respectively.