If you are doing any development, the two popular languages are Java (J2ME/JavaME) or C++ (Symbian C++). Java is much easier than C++, but Java has limited functionality (no background processes, cannot access hardware components of phone, etc). Python is also available and it's probably the best of both worlds, but no one in the department uses it. Needless to say, you should explore (read: ask someone who knows) the constraints of the language before you pick it.
Finally, phones are finicky. The version numbers listed are shown for a reason -- they are known to work. Often upgrading to a new version will break some functionality. It is also a good idea to keep installers as once new versions come out, the old one that worked will be removed from the manufacturer's site.