Попробовал 2 пути:
1)
- Код: Выделить всё
- procedure TForm1.Button1Click(Sender: TObject);
 var
 AMsgDialog: TForm;
 ACheckBox: TCheckBox;
 begin
 AMsgDialog := CreateMessageDialog('test test test test test test test test test test test test test test test test test test test test test test test test test',mtError, [mbOK]) ;
 ACheckBox := TCheckBox.Create(AMsgDialog) ;
 with ACheckBox do begin
 Caption := 'Not show this message';
 AutoSize:=true;
 AnchorSide[akRight].Side := asrRight;
 AnchorSide[akRight].Control := AMsgDialog;
 AnchorSide[akBottom].Side := asrBottom;
 AnchorSide[akBottom].Control := AMsgDialog;
 Anchors := [akRight,akBottom];
 Parent := AMsgDialog;
 end;
 //AMsgDialog.Width:=max(AMsgDialog.Width,{ACheckBox.Width}500);
 AMsgDialog.ShowModal;
 end;
Хоть вроде и имеем AMsgDialog, но встроить в него ничего не получается, там все "захардкожено" увеличиваю ширину чтоб чекбокс гарантировано влазил - кнопки остаются неподвижными не по середине, а при коротком сообщении чекбокс невлазит((
Ну и выглядит странновато - иконка не системная, кнопки какието здоровые. не пойдет((
2) С горя я даже буду согласен не на чекбокс, а просто на кнопки Ok и OkToAll (вторая подавляет все сообщения данного типа), ну думаю с этим то проблем не будет
Хер там(( CreateMessageDialog дает только Yes и YesToAll, а в Application.MessageBox вообще ничего похожего нет