I did figure out what Handbrake was doing: by default it scans your source file for unused pixels around the edges of the video, and automatically sets itself to crop them off. And it so happens that several of my recordings have a few unused (black) pixels at the left and/or right edge. I wouldn't normally notice since they're next to the black pillar box, and it's only 2 or 4 pixels.
But instead of just reducing the output file to, say, 716x480, by default Handbrake scales the picture back up to, say, 720x482 (because you set the output resolution by width, not height).
So that's what's going on, leaving me a couple of workarounds: either set the cropping values to all zeros, thus disabling cropping; or set the modulus to 16, since it won't go past 480 unless it goes all the way to 496, which I expect would rarely happen. Edit:
A third option, keeping the cropping but reducing the width to keep the height at 480, does not
work. A Knight Rider
episode recorded from Cozi gets cropped way down because of the screwy way it's broadcast in DFW; it doesn't play correctly at either 540x480 or the 704x622 Handbrake normally defaults to (although it plays fine both ways on my PC).
Still, it's annoying that the HW reacts so badly to a few extra scan lines in a recording. I'll have to re-transcode several recordings to get around it.
Oh, well, what did I expect for only $40?