I agree that developer's should test on SDTVs, but I don't know if always showing a widescreen video fullscreen is the way to go. Another issue is that only roVideoPlayer supports SetDestinationRect and there may be reasons why you want to use roVideoScreen.
For the overhang on an SDTV, I've found that an X offset of 72 and a Y offset of 50 is a good place to start, but it always takes some tweaking. Also, for the overhang slice about the top 25 to 30 pixels won't be visible on an SDTV, so adjust your slice accordingly.
For an roImageCanvas, I usually use a 25 pixel border on the top and bottom and a 50 pixel border on each side to account for overscan. I have two SDTVs and they are somewhat different from each other, so there probably isn't a one size fits all perfect solution. I know that even all HDTVs will not display every pixel and borders are required on them as well. I usually use the same borders just for ease of programming.
Finally, if you want a square to appear as a square on an SDTV, it must be drawn as a rectangle with the width being 1.125 times the height. This was obtained experimentally, but probably not coincidentally 720/640 = 1.125.
To the OP, if you don't like letterboxing, change your screen setting to 16x9 widescreen before you watch a video. It's a little bit of a pain, but at least you don't have to reboot.
-JT
Roku Community Streaming Expert
Help others find this answer and click "Accept as Solution."
If you appreciate my answer, maybe give me a Kudo.
I am not a Roku employee.