Thank you all so much for your aid, you two. Allow me to explain my use case. I'm currently using Inno Setup as a modding ecosystem installer for a particular game. The issue with this game is that it currently has three concurrent editions that can use many of the same components as the others, but others included will cause a problem. To remedy this, when the path for the game is provided, I retrieve the versions and make changes to the component list in order to avoid incompatible components from being installed. I do this by keeping an array of string with the incompatible components per-version that lists their descriptions. This has worked well, but I recently made changes and have encountered the radio button issue.
For example, I have the following components defined:
Name: ModExt; Description: Modding Extensions;
  Name: ModExt/MaidLoader; Description: MaidLoader; Flags: exclusive; Types: full compact;
  Name: ModExt/modloader; Description: ModLoader; Flags: exclusive;
During runtime, when the page changes to the components, or when the type combo changes, I pass my array of string with the aforementioned incompatible components to the following method:
procedure RemoveComponents(components: Array of string);
var
M, I: Integer;
begin
  for M := Wizardform.ComponentsList.Items.Count - 1 downto 0 do
  begin
    for I := 0 to (GetArrayLength(components)-1) do
    begin
      if (CompareText(Wizardform.ComponentsList.ItemCaption[M], components[I]) = 0) then
      begin
       Â
        Log('Disabling ' + Wizardform.ComponentsList.ItemCaption[M] + ' Checked: ' + IntToStr(Integer(Wizardform.ComponentsList.Checked[M])))
        if Wizardform.ComponentsList.Checked[M] = true AND Wizardform.ComponentsList.CheckItem(M, councheck) = false then
          Log('Failed to uncheck ' + Wizardform.ComponentsList.ItemCaption[M] + '!');
        Wizardform.ComponentsList.ItemEnabled[M] := false;       Â
        break;
      end;
    end;
  end;
end;
However, the following occurs instead exclusively where the radio button is involved.:
And my logging code reports the parent indeed could not be unchecked:
[09:53:20.242] Â Disabling ModLoader Checked: 0
[09:53:20.246] Â Disabling MaidLoader Checked: 1
[09:53:20.249] Â Failed to uncheck MaidLoader!
[09:53:20.253] Â Disabling Modding Extensions Checked: 1
[09:53:20.254] Â Failed to uncheck Modding Extensions!
I've entertained the idea of making another method that only disables and feeding it the radio buttons instead, but this seemed kind of odd to me that the radio buttons react this way and that there's just no way to check if they're radio either. Normally it wouldn't matter, but for some reason I can't uncheck the parent when this occurs.