Consider the following function defined as a double-integral:
$ int_{2D}(h)=\int_0^h \int_0^{t_1}f(t_1,t_2) dt_2 dt_1 $.
Clearly, $int_{2D}(0)=0$ as long as $f(t_1,t_2)$ is well-behaved.
The previous function can be easily translated into Mathematica's language
int2d[h_]:=Integrate[f[t1,t2],{t1,0,h},{t2,0,t1}]
Now, evaluate
int2d[0]
to obtain the output
\!\( \*SubsuperscriptBox[\(\[Integral]\), \(0\), \(0\)]\( \*SubsuperscriptBox[\(\[Integral]\), \(0\), \(t1\)]f[t1, t2] \[DifferentialD]t2 \[DifferentialD]t1\)\)
The previous expression suggests that Mathematica is giving the literal result, namely
$ int_{2D}(0)=\int_0^0 \int_0^{t_1}f(t_1,t_2) dt_2 dt_1 $
Is there any way that Mathematica provides a vanishing result (as it should be)? Is it necessary to define rules in the spirit of https://mathematica.stackexchange.com/a/38171/90163 ?
(I found one way to solve it, but I would like to avoid the approach that I am presenting below. By a simple change of variables rewrite $int_{2D}$ as
$int_{2D}(h)=h^2\int_0^1 \int_0^{1}f(hs_1,hs_1 s_2) ds_2 ds_1 $,
and then translate the above expression into Mathematica)
This situation contrasts with the one-dimensional case, where one defines
int1D[h_]=Integrate[f[t1],{t1,0,h}]
Thus, evaluating int1D(0) one obtains 0.

