Correct. The code in GZDoom is here: https://github.com/coelckers/gzdoom/blob/master/wadsrc/static/shaders/glsl/main.fp#L136. The pointLightAttenuation function listed just below it includes the full equation including the distance part (if attenuate is zero, then it uses the old light math).

If they are exactly parallel then the light level becomes zero, yes. And if the surface points away from the light it stays dark as well (because the dot product becomes negative and the max statement clamps that to zero).

Edit: just to clarify the variables:

lightpos.xyz is the position of the light in world space

lightpos.w is the light radius

pixelpos.xyz is the location of the pixel in world space.

attenuate toggles between normal and attenuated lights