Your mistake on these things is in understanding numerical integration and probably of floating point arithmetic.
Numerical integration tools are not prescient. They evaluate the function that you supply. If the function is essentially a delta function, i.e., zero everywhere that they look (to within the supplied tolerance) then they will tell you the integral is zero, or some equivalently small number. The integration tool cannot do more than that, nor should you expect it to do so.
Anyway, how could you expect the tool to return a warning? Suppose I chose a function that was essentially identically zero everywhere, except at some point that I won't tell you about, where there is the equivalent of a delta function. How could an integration tool know where to look for the spike in the integrand, if it sees only zero? Now suppose I chose to give you the same function, but without that spike?
