I had the same moment 6 years ago, and it was the most rewarding move I ever made, creatively speaking.
This is an important aspect. You can always learn a language without having an actual use for it, but it will be much much harder. Learning something which almost instantly starts to help you in your daily work gives you a lot of motivation to continue and improve.
MCG is not exactly a programming language, so I won’t comment on it. I am not convinced that using it is a stepping stone to coding, though it will probably be the most instantly gratifying.
Basic Maxscript is very useful to know as a 3dsmax user even if you are not writing tools, and is not that hard to pick up.
I don’t know how well Python is integrated into 3dsmax, but it has the added advantage that it would also be useful in other places, not just 3dsmax. It’s one of the most widely used languages today. It’s also not very hard. Because it is so popular, there is also much more learning material for it.
I would start with either MXS or Python.
The 3dsmax SDK is based on C++, not C. C++ (and in some market segments, C) is still a relevant language today because of its portability, power and breadth. The learning curve however, especially for C++, is much steeper than MAXScript or Python. Additionally, to write 3dsmax plugins, it’s not sufficient to know C++, you must also be familiar with the 3dsmax SDK.
There is also C# or other .NET languages to consider, which IMO is easier to learn than C++, and can also be used for many things in 3dsmax and the Microsoft environment in general.
There are many other languages worth knowing of course, but none that will help you in 3dsmax.