Hi Dan,
When you say "...but if I create it like that (one option) in the painter it's fine." do you mean that it displays in the painter fine or even when you run it, it still displays fine? Testing in 2019R3 and 2022R3 both show fine in the painter as well but when you run it the control is still not displayed, so it doesn't appear to matter whether it's created in the painter or in code, a single option will still not display when run (from the IDE).
If yours displays when run as well with only one option provided at design time I'm intrigued to know what might be the difference, unless it's PB 2021 that makes the difference and I don't have it installed on my machine to test.
John's suggestion would work assuming that at no time, whether it's with 3, 2, or 1 option(s) the user is permitted to select none of the options (otherwise you need two graphics, one unfilled to start and one filled in if clicked). Similar to John's idea, you could hide the radiobutton when it only has one option and insert a checkbox control (or better yet create it at design time and then unhide it) and programmatically set the radiobutton's value based upon the status of the checkbox if they don't have to make a selection. If they do have to physically make a selection even when there's only one choice, then maybe still show the full set of options but programmatically select the one they would have to choose if there was only one option and then disable the control.
I'm just not sure yet there is a bug at play here but maybe I'm missing something.
HTH...regards,
Mark