ho dato un'occhiata nei sorgenti, è proprio un comportamento normale
potresti provare con qualcosa del genere
procedure TForm1.ImpostaItemIndex(const AValue: integer);
begin
RadioGroup1.OnClick:=nil;
RadioGroup1.ItemIndex:=AValue;
RadioGroup1.OnClick:=@RadioGroup1Click;
end;
in alternativa puoi dichiarare una proprietà boolean tipo "SaltaOnClick" e, all'interno dell'OnClick, puoi condizionare il codice con quella proprietà