there are various "simplifications", using various offsets to distinguish between the four tables of data. For Holding registers, the most typical is offset of 40000, but as you already noticed, this is no standard.
thanks for sharing your experience and findings. There's nothing to add, only that from the nearest release the REXYGEN compiler will issue a warning when two drivers use the same configuration .rio file.
thanks for update. Could you please try to test one Raspberry Pi with certain SD card (i.e. OS) and check with working Monarco HAT and then switch the one failing so we can say it is Monarco HAT failure afterwards?
you can use the refresh_from atribute from the Input component, as shown in the picture bellow.
The value atribute (Input_W in my example) will be assigned to CNI100:icn parameter and the refresh_from (Input_R in my case) atribute to the MBM__readReg:value.