The SYSALS__INTEGRATION_PERIOD register is at 0x040 and it is a 16-bit address. (so 0x40 and 0x41).
The ST API uses:
status = VL6180x_WrWord(dev, SYSALS_INTEGRATION_PERIOD, SetIntegrationPeriod);
Where
#define SYSALS_INTEGRATION_PERIOD 0x040
In the app note they are only writing the value 0x63 - so they cheated and wrote 1 byte into the LSByte of the word.
Although this is a bit confusing and syntactly tacky, it is correct - sort of. Not a very good example.
Sorry about that.
If this or any post solves your issue, please mark them as 'Accept as Solution' It really helps. And if you notice anything wrong do not hesitate to 'Report Inappropriate Content'. Someone will review it.