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?
I recommend checking out the examples in the 0401_Modbus_RTU folder or take a look at the 0121-10_Monarco_HAT_Modbus_RTU_ADAM-4024 and 0121-11_Monarco_HAT_Modbus_RTU_Loopback_USB examples. These are all provided in REXLANG. Hopefully, these examples will provide some assistance.