Sometimes, the ultimate customer has a required language or set of acceptble languages. Analytica might then be great for initial prototyping, but the result would tneed to be ported. I was asked by a student in what cases that might be straightforward, or would instead be difficult. On the one hand, the functional programming in Analytica can generate clear, mathematically tidy specifications (e.g., scalar products, sometimes with multi-dimensional arrays). On the other hand, these and other features may not map easily to other languages. Are there some guidelines, rules of thumb, or suggestions? These might relate to type of model, type of program (functional, procedural), or other categories. I thought it was a good student question, but did not know how to answer, other than saying "well, it all depends."
Unfortunately the "it depends" answer you gave is likely the best. Historically there have been cases of a great prototype or initial product coming out of Analytica, management urging to convert to another language, and then after failures to replicate all of Analytica's functionality ultimately reverting back to the original Analytica model. My best advice would be to think of what languages you're most comfortable in, and then consider the most difficult aspects of your model to then think through whether or not you could replicate their functionality in your language of choice. Past that it would be, as you said, seeing what types of functions the model primarily makes use of and then choosing the language known to accomplish those things best.
Sorry for not having a stronger answer!