Expressing the entire business in terms of `SphericalBesselJ[]` cures the problem:

    NIntegrate[r With[{x = r BesselJZero[15/2, 1]}, 
                      Sqrt[2 x/π] SphericalBesselJ[7, x]]^2, {r, 0, 1/50}]
       1.1879560281974252*^-27

The nice thing about `SphericalBesselJ[]` is that it does not auto-evaluate to a potentially numerically unstable combination of trigonometric functions, unlike `BesselJ[15/2, x]`.