It'd be nice when writing a program to a CPU if there was some kind of indication that the OS, gate array, and/or booter was out of date and needed to be updated. I've run into a few occasions when loading a program to a CPU where my program attempted to make use of instructions newer than the firmware in the PLC supported. Easy enough to update the PLC firmware, but I've spent a few hours banging my head against the wall before I thought to check firmware...