The NLMIXED code can be rewritten to use a parameterization like that employed by FMM. See the code below. Of course, FMM would be the preferred procedure most of the time. But if one needed to introduce random effects due to data clustering, one could modify the NLMIXED code to accommodate that. Note that this parameterization appears more robust than the previous parameterization in that the default likelihood estimation technique (QUANEW) produced estimates with standard errors. (The DBLDOG technique also returns estimates with standard errors.)

Note that parameters a and b in this formulation of the likelihood match parameters from the previous formulation except at the 5th significant digit of b. Moreover, the estimate for eta matches the intercept estimate from FMM through the 4 significant digits reported by each procedure. The scale (overdispersion) parameter differs by a single digit at the 6th significant digit.

ods output AdditionalEstimates=betaBin_estsV2;
proc nlmixed data=BetaBin;
parms b0 0 log_a 1;
eta = b0;
pi = 1 / (1 + 1/exp(eta));
a = exp(log_a);
phi = a/pi;
nTrials = 10;
mu = nTrials*pi;
ll = lgamma(nTrials+1) - lgamma(x+1) - lgamma(nTrials - x + 1)
+ lgamma(phi) - lgamma(nTrials+phi) + lgamma(x+a)
+ lgamma(nTrials - x + phi - a) - lgamma(a)
- lgamma(phi-a);
model ll ~ general(ll);
estimate "a" a;
b = a*(1-pi)/pi;
estimate "b" b;
estimate "scale" phi;
pmf = exp(ll);
predict &SampleSize. * pmf
out=PDFBetaBinom_est(keep=x pred); /* expected frequency computation */
run;

Again, since FMM can estimate this same beta-binomial model, the only reason to keep the NLMIXED code in one's hip pocket would be if there were yet another source of overdispersion attributable to random effects associated with clustered data collection.