You are right, photon's energy can increase/decrease, because you're
not doing perfect importance sampling of the scattering kernel.
Ideally, you should choose whether to reflect of refract based on the
Fresnel weight. PBRT however makes this decision with uniform
probability. Therefore, when the Fresnel weight for reflection is
close to 1 and you choose reflection with probability 0.5, you almost
double the photon energy. The result is variance, due to this
imperfect importance sampling. Ideally, before choosing a BxDF to
sample, PBRT should compute the reflectance of each BxDF (which should
include the Fresnel weight) and then pick the BxDF proportionally to
the reflectance.
Hope this helps!
Cheers,
Iliyan