TRadioGroup is BUGGGGGEEEEDDDD in D2-D3 ?????

Hello,

   Last week I asked a question for which I had no answer. So, I'm
back with the same BUG but presented differently.

   I have 2 forms, Form1 and OkBottomDlg. The first, form1, has a single
TButton component "Button1" with the code as follows:

unit Unit1;
 .
 .
 .

var
  Form1: TForm1;

implementation

uses Unit2;   // contains the TOkBottomDlg form with a TRadioGroup
              // and the OK Cancel buttons.

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
  OKBottomDlg.Show;   // ShowModal gives the same.
end;

end.   // ..... of unit1
{------------------------------------------------}

   The second form, OKBottomDlg, is a standard dialog form,
available from this Delphi menu sequence:

  File | New... | Dialog Tab | Standard Dialog (with the bottom
buttons in the thumbnail)

In this second form, (full code at the end) I removed the Bevel1.
The Create event puts Items A, B and preselect A as the default.
OldIndex, in the public part of TOKBottomDlg keeps track of the
user's choice.

 -Pressing OK or Enter sets OldIndex to RadioGroup1.ItemIndex
 -Pressing Cancel or Esc sets RadioGroup1.ItemIndex to OldIndex.

Now run the program following these steps:
 -Press Button1 (The dialog opens)
 -Select B from RadioGroup1 (B is checked)
 -Press Escape (A is checked)
 -Press Button1 (B is checked. WHY?????)

Thanks

P.S. I made more extensive checks with FormClose, FormShow,
     ShowModal of the second form. I also tried with
     TGroupBox which seems to exhibit the same kind of bug.

Here comes the FULL unit2:

unit Unit2;

interface

uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
  Buttons, ExtCtrls;

type
  TOKBottomDlg = class(TForm)
    OKBtn: TButton;
    CancelBtn: TButton;
    RadioGroup1: TRadioGroup;
    procedure OKBtnClick(Sender: TObject);
    procedure CancelBtnClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    OldIndex : integer;  // retains last selection buttons or
  end;                   // restore selection when user change his mind.

var
  OKBottomDlg: TOKBottomDlg;

implementation

{$R *.DFM}

procedure TOKBottomDlg.OKBtnClick(Sender: TObject);
begin
  OldIndex := RadioGroup1.ItemIndex;     // user confirms his choice
end;

procedure TOKBottomDlg.CancelBtnClick(Sender: TObject);
begin
  RadioGroup1.ItemIndex := OldIndex;     // user changes his mind
end;

procedure TOKBottomDlg.FormCreate(Sender: TObject);
begin
  RadioGroup1.Items.Add('A');    // put 2 buttons in the radio group box
  RadioGroup1.Items.Add('B');
  RadioGroup1.ItemIndex := OldIndex;;  // ==> 0 at startup
end;

end.