It’s childs play. And there is no bug. Processes that are very old and are used daily usually don’t contain bugs anymore.
As programmer you see bugs everywhere , like someone with a hammer sees nails everywhere.
Upload the needed npk to the files directory. Either in RAM (above /flash, the preferred place) or in a top directory in /flash.
Make sure it is the correct npk (hardware variant) and it is the only instance of that npk in the files directory.
The hardware variant selection can be confusing. For CRS125 its the MIPSBE variant. If you load the ARM variant of the CRS325 it will just be deleted.
Check the size of the uploaded npk to verify it is complete. (incomplete files will not install, if there are multiple (incomplete) files it will try one and possibly delete another. So it tries the bad one, fails, and then deletes the good one. Next upload same story.)http://forum.mikrotik.com/t/issues-installing-the-dude/139569/1
If it is a higher version number : take upgrade. If it is a lower version number : take downgrade. (The channel does not matter in this. E.G. I like the 6.45.6 from the stable channel)
The only, very classical, hurdle in upgrading is that sometimes you need to do an intermediate upgrade step (to be able to upgrade the bootloader firmware).
(I think it was from 6.44 towards 7.0beta … http://forum.mikrotik.com/t/special-instructions-for-installing-routeros-7-beta2/133553/1)
I have never seen a case that needs an intermediate downgrade step.