42737 is the least significant 16 bits of 3319537, so that makes sense.
Modbus registers are only 16 bits, since they are storing 32 bits, the next register is used as well and will have the most significant 16 bits of your 32 bit number. If you have the Banner device writing something else to that register, then your number is getting clobbered.
Register 400860 - contains the LSB - bits 15 through 0
Register 400861 - should contain the MSB bits 31 through 16
If you configure the Banner device mapping to place data in particular register, then you can’t be writing something else to 400861 since the 32 bit value needs that register too. Make sense?