Explanation of Microsoft Lumia product type, code and firmware.
So, as I've spent a few hours guessing out how the puzzle of type-code-firmware goes, I'll post it here hoping it will help someone:
For every model, there are three variables into consideration.
First is the Product type, in the form RM-xxx. This refers to the hardware specifications of the device, and obviously can't be changed. Different product types mean some major or minor difference in the hardware.
Then is the Product code, in the form of seven alphanumeric digits. Each code corresponds, and is followed by, the product type to which it applies (RM-xxx), plus "VAR" (meaning variant), plus a series of shortened words giving information about what can we expect to find in the firmware: the geographical region and/or country for which it's meant, that will get the OTA (over the air) updates; the brand (service provider) shipped in the firmware (or the letters CV if it's unbranded); the handset colour (only for the default tones we'll find when first powering it up); and some other variable information, like the size of memory, etc. So, it can look like this:
code-------type-----variant---region--provider ------ country memory colour
059T1B8 RM-892 VAR --- EURO SWISSCOM CH ------ 16GB --- GREY
Some of the shorts are easy to guess, some others I have no clue.
Thirdly we have the firmware version, aka ROM or Windows Phone version, which is what we all want to get updated. The version consists of sixteen numbers in groups of four separated by dots. Every Product code ships this or that firmware revision, getting OTA updates every now and then. Different regions, countries or providers get higher updates than others. People in Norway get a different OTA update than those in Hong Kong, and branded phones usually are updated earlier than unbranded ones.
Now, each physical device has a "hardcoded" Product code (that we can find in underneath the SIM-holder). In the example above, it would be a phone bought in Switzerland, sold by Swisscom carrier (and very likely SIM-locked), with 16GB store space, grey colour, and capable of working on certain frequencies. So, now, what can we flash it with? Well, we can flash any Product code as far as it's the same Product type as our phone, without losing any capability. Note: flashing a different Product code will NOT change our phone's original code. And when we switch on the phone, we'll get what we flashed: a default language or set of languages, perhaps a service provider logo, a default colour for the tiles and apps, and of course the features that Bill Gates' staff fancied and condescended to include in the corresponding firmware update. So, if we want the latest version, probably we'll have to flash a Product code not corresponding to our country or region, though I assume that all of them have, at least, English built in. It might also happen (this is my guess) that certain firmwares don't include a setting for LTE, if there is no LTE in the country for which it's meant, even though the device is LTE-capable.
Now, is it possible to flash a Product code corresponding to a different Product type? Yes, but we may lose some capabilities. For example, the Microsoft Lumia 925 is RM-893 in North America and RM-892 in Eurasia. They're capable of different frequencies for the 3G and 4G bands. So, cross-flashing will make us lose all the frequencies not matching both Product types: some because of the hardware, some because of the software. Not much to lose if, in exchange, we're getting a newer Windows Phone version; because, sorry to say, WP really sucks, and the sooner we get the updates, the better. After all, who can yet enjoy LTE? I bet that 97% of the Lumia owners can't.
So far all what I've found about this topic. Enjoy and, if you find I wrote something wrong, please let me know.