Consider the following type theory:
\begin{gather}
\frac{ }{\vdash G \; \mathsf{type}} \qquad
\frac{ }{\vdash \Lambda \; \mathsf{type}} \\[2ex]
\frac{\vdash g : G \qquad \vdash e_1 : \Lambda \qquad \vdash e_2 : \Lambda}{\vdash e_1 \, e_2 : \Lambda} \\[2ex]
\frac{\vdash g : G \qquad x : \Lambda \vdash e : \Lambda}{\vdash \lambda x \,.\, e : \Lambda} \\[2ex]
\frac{\vdash g : G \qquad x : \Lambda \vdash e'_1 : \Lambda \qquad \vdash e_2 : \Lambda}{\vdash (\lambda x \,.\, e'_1) \, e_2 \equiv e'_1[e_2/x] : \Lambda}
\end{gather}
It is the untyped $\lambda$-calculus with a proof-irrelevant “guard” type $G$: in order to form any terms of type $\Lambda$ or to apply the $\beta$-rule, we must first exhibit a proof-irrelevant term of type $G$.
The theory has a model in which both $G$ and $\Lambda$ are interpreted as the empty set. Therefore, there are no closed terms of any type (the only types are $G$ and $\Lambda$ – we did not assume any extra structure). It is vacuously the case that every closed term is normalizing for any notion of normalization.
Observe also that in the non-empty context $z : G$ the untyped $\lambda$-calculus springs to life because $z$ can be used to justify the construction of terms and applications of the $\beta$-rule.
Hence, as soon as we add a (proof-irrelevant!) constant
$$\frac{ }{\vdash g : G}$$
all hell breaks loose in the empty context (of course the untyped $\lambda$-calculus is not normalizing).
You may think the example a silly one, and I concur. However, it demonstrates a point well: the addition of a proof-irrelevant constant may change the behavior of proof-relevant closed terms.
If we wish to avoid the above travesty, we need to find a meta-theoretic property of type theories which prevents it. I would be quite impressed to see a reasonably general and non-artificial property that accomplishes the task.
It is interesting to ask whether we could modify the above example so that $G$ becomes proof-relevant. I think so, like this:
\begin{gather}
\frac{ }{\vdash G \; \mathsf{type}} \qquad
\frac{ }{\vdash \Lambda \; \mathsf{type}} \\[2ex]
\frac{\vdash g : G \qquad \vdash e_1 : \Lambda \qquad \vdash e_2 : \Lambda}{\vdash \mathsf{app}(g, e_1, e_2) : \Lambda} \\[2ex]
\frac{\vdash g : G \qquad x : \Lambda \vdash e : \Lambda}{\vdash \lambda(g, x \,.\, e) : \Lambda} \\[2ex]
\frac{\vdash g_1 : G \qquad \vdash g_2 : G \qquad x : \Lambda \vdash e'_1 : \Lambda \qquad \vdash e_2 : \Lambda}{\vdash \mathsf{app}(g_1, \lambda(g_2, x \,.\, e'_1)) \, e_2 \equiv e'_1[e_2/x] : \Lambda}
\end{gather}