What is the Hamiltonian of General Relativity?
One should be careful to distinguish the Hamiltonian associated with particle motion in a gravitational field and the Hamiltonian associated with the gravitational field itself. The theorem on page three of the article you linked (is this the theorem you were referring to?) concerns the action for a free particle, not the Einstein-Hilbert action.
Nevertheless, there is a sense in which the Hamiltonian associated to the Einstein-Hilbert action is zero, and this is problematic when it comes to defining the energy of a spacetime. The resolution lies in the surface terms arising when the Hamiltonian is varied. The Hamiltonian of GR as obtained by the usual Legendre transform procedure is
$$ H = \int \mathrm{d}^3 x \, (\pi^{ij} \dot{h}_{ij} - \mathcal{L}) = \int \mathrm{d}^3 x \, (\mathcal{H} N+ N^i\mathcal{H}_i ) \,,$$
where $N$ is the lapse function, $N^i$ is the shift vector, and $$ \mathcal{H} = -R^{(3)} + h^{-1} \pi^{ij} \pi_{ij} - \frac{1}{2}h^{-1} (h^{ij} \pi_{ij})^2 \qquad \mathcal{H}_i = -2h_{ik} D_j(h^{-1/2} \pi^{jk}) \,.$$
One can show that when the equations of motion are satisfied (in particular, when the Hamiltonian and momentum constraints are satisfied), the Hamiltonian vanishes. This is distinct from the case in the article you linked, for which the Hamiltonian is also zero off-shell.
However, we are still left with the puzzle of how to define the energy of a spacetime, if the Hamiltonian is always zero on-shell. By varying the Hamiltonian above with respect to $\pi^{ij}$ and $h_{ij}$ we should reproduce, by Hamilton's equations, the Einstein field equations. However, in performing this variation, we find that there are surface terms we generate when integrating by parts to move derivatives off $\delta \pi^{ij}$ and $\delta h_{ij}$. The true Hamiltonian should therefore contain another term that cancels this surface term when varied. This is the ADM energy:
$$E_\mathrm{ADM} = \lim_{r \to \infty} \int_{S^2_r} \, \mathrm{d} A \, n_i(\partial_j h_{ij} - \partial_i h_{jj} ) \,.$$
The total Hamiltonian, $H + E_\mathrm{ADM}$, gives the same equations of motion as before. On-shell, $H = 0$, and therefore $E_\mathrm{ADM}$ has the interpretation of the energy of the spacetime.
The Hamiltonian of General Relativity in the ADM formalism can be written as
$$ H(q_{ab}, \pi^{ab}; N, N_a) = \intop_{\Sigma} d^3 x \left( N(x) C(q_{ab}(x), \pi^{ab}(x)) + N^{a}(x) C_{a}(q_{ab}(x), \pi^{ab}(x)) \right), $$
where:
- $q_{ab}(x)$ is the 3-metric on the spatial slice $\Sigma$,
- $\pi^{ab}$ is the canonical conjugate to $q_{ab}$ (which is a densitized tensor field in $\Sigma$)
- $N(x)$ and $N_{a}(x)$ are Lagrange multiplier fields called lapse and shift respectively, which enter the expression for the spacetime metric $g_{\mu \nu}(x, t=0)$ alongside $q_{ab}$; being Lagrange multipliers they don't have canonical conjugates by definition (or we can say that $P_N = P_{N_a} = 0$ is a first-class constraint).
The constraints are given by:
$$ C_a (q_{ab}, \pi^{ab}) = - 2 D_{b} \pi^{ab}, $$ $$ C(q_{ab}, \pi^{ab}) = \frac{1}{\sqrt{\det q}} \left( \left( q_{ac} q_{bd} - \frac{1}{2} q_{ab} q_{cd} \right) \pi^{ab} \pi^{cd} - \det q \cdot R(q) \right). $$
When we say that $H = 0$ for General Relativity what we mean is that $H = 0$ follows from the equations of motion, which are Einstein's equations. This can be seen easily, as variating the action with respect to $N$ and $N^a$ gives
$$ C(x) = C_a (x) = 0. $$
This is an equation of motion. It follows from Einstein's equations. It is a requirement that $N, N^a, q_{qb}, p^{ab}$ have to satisfy in order to qualify as a solution of Einstein's equations.
So yes, the Hamiltonian of GR is zero. But this is only true on shell. Off-shell Poisson brackets with the Hamiltonian still determine the physical evolution of observables:
$$ \frac{d}{dt} f(t, x) = \frac{\partial}{\partial t} f(t, x) + \left\{ f(t, x),\; H \right\}. $$
The odd thing about this though is that it depends on the choice of $N(x)$ and $N^{a}(x)$, which are unphysical. It turns out there's a good reason for this dependence: by choosing different $N$ and $N_a$ we can pass between different spacetime coordinate systems!
As an example of a reasonable gauge-fixing condition, consider
$$ N_a(x) = 0; N(x) = 1. $$
This corresponds to the spacetime coordinate system, in which $\Sigma$ is fixed in time, and the coordinate time $t$ is chosen to describe the physical time flow. In this gauge the Hamiltonian is equal to
$$ H = \intop_{\Sigma} d^3 x C(q_{ab}(x), \pi^{ab}(x)) = $$ $$ = \intop_{\Sigma} d^3 x \frac{1}{\sqrt{\det q}} \left( \left( q_{ac} q_{bd} - \frac{1}{2} q_{ab} q_{cd} \right) \pi^{ab} \pi^{cd} - \det q \cdot R(q) \right), $$
which is not invariant under coordinate transformations as we've already fixed the gauge.
It still vanishes on-shell (when equations of motion are imposed), but provides time evolution of physical observables when we take Poisson brackets off-shell:
$$ \frac{d}{dt} f(t, x) = \frac{\partial}{\partial t} f(t, x) + \left\{ f(t, x),\; H \right\}. $$
An important question is whether the constraints generate 4-dimensional diffeomorphisms on the phase space. Short answer: this is only valid on-shell, i.e. on the equations of motion.
The Hamiltonian in the reparametrization invariant theories is not identical to zero. It's identical to zero on-shell i.e. the Hamiltonian is a linear combination of constraints. ADM Hamiltonian has exactly this form, $$H=\int d^3x N\mathcal{H}+N_k\mathcal{H_k}$$ where $\mathcal{H}$ and $\mathcal{H_k}$ are constraints. The physical solutions should satisfy those constraints and therefore for them the ADM Hamiltonian should be zero too.
However the Poisson bracket of some function of canonical variables and constraints is generally speaking non-zero. So if you consider for example $\frac{d}{dt}g_{ij}=\{H,g_{ij}\}$ it will be nonzero and will depend on $N$ and $N_k$. As a matter of fact you'll get this way ordinary Einstein equations.