Problems on migrating from XBee/XBee-PRO 802.15.4 (XB24/XBP24-AUI-001) to new XBee3 802.15.4

We have deployed hundreds of own IOT devices integrated with older XBee/XBee-PRO 802.15.4 (XB24/XBP24-AUI-001) modules.
Now we need to manufacture more devices and we are testing the new XBee3 802.15.4 modules. We are seeing problems when reading or setting Xbee3 parameters using the same code for XB/XBP24 devices.
We are talking to modules using API mode 1. Seems some parameters byte size have changed. Please can you point me to a documentation or a weblink which explicitly says what is byte size of each parameter for each command in API mode? I have looked at migration guide, however I could not find anything useful.

Here is a dump from diff utility I run to find differences between old and new modules:
< old XB/XBP24 modules
> New XBee3

< 20000B6D: 88 52 4E 54 00 19 .RNT…

> 20000B6D: 88 52 4E 54 00 00 19 .RNT…

< 20000B6D: 88 52 53 54 00 13 88 .RST…

> 20000B6D: 88 52 53 54 00 00 00 07 D0 .RST…

< 20000B6D: 88 52 53 50 00 00 00 .RSP…

> 20000B6D: 88 52 53 50 00 00 00 00 00 .RSP…

< 20000B6D: 88 52 44 50 00 03 E8 .RDP…

> 20000B6D: 88 52 44 50 00 00 00 03 E8 .RDP…

< 20000B6D: 88 52 53 4F 00 00 .RSO…

> 20000B6D: 88 52 53 4F 00 00 00 .RSO…

< 20000B6D: 88 52 50 52 00 FF .RPR…

> 20000B6D: 88 52 50 52 00 00 00 FF FF .RPR…

< 20000B6D: 88 52 49 43 00 00 .RIC…

> 20000B6D: 88 52 49 43 00 00 00 .RIC…
342c342
< 20000B6D: 88 52 50 54 00 FF .RPT…

> 20000B6D: 88 52 50 54 00 00 FF .RPT…
363c363
< 20000B6D: 88 52 54 30 00 FF .RT0…

> 20000B6D: 88 52 54 30 00 00 00 .RT0…
370c370
< 20000B6D: 88 52 54 31 00 FF .RT1…

> 20000B6D: 88 52 54 31 00 00 00 .RT1…
377c377
< 20000B6D: 88 52 54 32 00 FF .RT2…

> 20000B6D: 88 52 54 32 00 00 00 .RT2…
384c384
< 20000B6D: 88 52 54 33 00 FF .RT3…

> 20000B6D: 88 52 54 33 00 00 00 .RT3…
391c391
< 20000B6D: 88 52 54 34 00 FF .RT4…

> 20000B6D: 88 52 54 34 00 00 00 .RT4…
398c398
< 20000B6D: 88 52 54 35 00 FF .RT5…

> 20000B6D: 88 52 54 35 00 00 00 .RT5…
405c405
< 20000B6D: 88 52 54 36 00 FF .RT6…

> 20000B6D: 88 52 54 36 00 00 00 .RT6…
412c412
< 20000B6D: 88 52 54 37 00 FF .RT7…

> 20000B6D: 88 52 54 37 00 00 00 .RT7…
And many more

Seems that some parameters changed from 8-bit to 16-bit, some to 24-bit and some changed from 16 to 32 bits.
Documentation says NT command range is from 0x01 to 0xFC, however dump above says it is more than 8 bits now (16-bits).

Please can you suggest the best way to keep our code working with old and new XBee modules?
Should we check data returned by HV,DD or VR commands and make decision based on that ?

Your help is appreciated.

I would suggest you start by verifying what firmware version is installed on your modules. Most cases, the module comes with the Zigbee firmware installed. Which means you would need to load on the 802.15.4 code.

Please correct me if I am wrong, we are using xb3-24aum-j module
https://www.digi.com/products/models/xb3-24aum-j so I believe it is programmed with raw 802.15.4 code.
Please can you comment on other questions?
We are concerned about our code compatibility. Please can you point me to a documentation or a weblink which explicitly says what is byte size of each parameter for each command in API mode?

Regards Daniel

Yes it does come with the 802.15.4 code. The manual is at https://www.digi.com/resources/documentation/digidocs/90002273/Default.htm

The API interface is covered at https://www.digi.com/resources/documentation/digidocs/90002273/Default.htm#containers/cont_api_mode.htm%3FTocPath%3DOperate%2520in%2520API%2520mode|_____0

Dear Sir,

I have 90002273.pdf and seen it many times. Please can you show me where it specifically says that for example, NT commands returns 2 bytes in API 1 mode and not 1 byte as it was in the older version?

Thank you
Daniel

Daniel, It is going to be in the AT command section of the manual. Under the exact AT command in question. It will not be written that way but it will tell you how many bytes are expected or the exacted responses or values supported.