The main issue with
asmprobit is the flexibility it provides which relaxes the independence of irrelevant alternatives (IIA) assumption but it comes at the cost of increased computing power. In this sense you allow the odds of choosing one alternative over some other alternative to depend on the remaining alternative, though this involves evaluation of probabilities from the multivariate normal distribution. Since there is no closed form solution to those you have to rely on simulation techniques. That's the bottle neck.
The simulation method used by
asmprobit in order to solve the simulated maximum likelihood is the Geweke-Hajivassiliou–Kean multivariate normal simulator (GHK documentation) which allows only for dimension $m\leq 20$. That's where the restriction in
asmprobit comes from because for more alternatives the simulation time becomes unmanageable. For a detailed description of this you can also see the "Simulated Likelihood" part in the Methods and Formulas section of the
Given that the reason for the limit is a computational one rather than one that is concerned with implementation I would not be too hopeful for a better estimation routine in R. If there was one then probably also Stata would have implemented it by now. By the way, this restriction is also a problem for other probit models of discrete choice (e.g.
mprobit allows max 30 distinct choices) for the same reason as outlined above.
A useful reference for you should be
- Train, Kenneth E. 2007. Discrete Choice Models with Simulation. New York: Cambridge University Press.
which is probably the main reference on this topic. If I remember correctly he also discusses cases where the number of choices is very large. I'm not sure, however, if you can have the best of both worlds, i.e. relaxing IIA and allowing for many alternatives. Certainly probit models will not get you far because of the multivariate normal but perhaps other models that also relax the IIA assumption may be useful. For instance, the mixed logit model also relaxes this assumption so it might be worth to have a look at the Stata options for estimating these kinds of models (see for instance this presentation for an overview).