Registers are numbered in decimal, starting from 1. Register addresses in actual Modbus messages (Modbus Protocol Data Unit (PDU)) are in hexadecimal and start from zero. Register number 1 corresponds to address 0hex in the actual Modbus message.
Reading the wrong register(s) may result in correct-looking values. Check the reference documentation of your Modbus host (PLC) to verify which notation it uses for Modbus register addresses.