A simple vista, veo que muestras la ventana 2 veces, por tanto la primera vez se pierde el valor de respuesta:
Código Delphi
[-]
frmCfg := TfrmCfg.Create(nil); frmCfg.ShowModal ; Respuesta := frmCfg.ShowModal;
if Respuesta = mrOK then
Otra cosa: El BitBtn no tendrá su propiedad ModalResult a mrOk ¿no?, si en el inspector de objetos le tienes asignada su propiedad Kind, puede que esté interfiriendo.
Saludos