Тебе нужно написать еще один метод, например Execute. Как это сделано в Диалогах.
Код:
procedure TF_AddValueParam.Execute;
begin
....
....
if n = 0 then Exit;
ShowModal;
....
....
end;
А в вызывающем коде
Код:
F_AddValueParam := TF_AddValueParam.Create(Self);
F_AddValueParam.User := User;
F_ValueList.Visible := False;
F_AddValueParam.Execute; // <<==-- здесь
F_AddValueParam.Free;
F_ValueList.Visible := True;