When changing r.ScreenPercentage the final value used for buffer generation is clamped to the nearest 4 pixels to aid in post processing and other steps. During post processing the same calculation for screen percentage is performed but this quantization does not happen creating up to a 3 pixel discrepancy. This leads to artifacts when buffer sizes and viewports mismatch when working with un-cleared data.
Both calculations should be identical to avoid edge cases which can be particularly apparent on consoles.
See the example in the UDN, or:
Launch QAGame in -game, set the resolution to 1600x900, set screen percentage to 50%, turn the camera and if correct there should be no black smear at the bottom of the screen.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-19394 in the post.