Yes, and as you can see the library has about 3 times the amount of source lines and is a lot more complex. Maybe it provides you what you need.
I had a look at the datasheets. Your friend likely missed the fact that there are two register maps. One for the accelerometer and gyroscope and one for the magnetic sensor. There are two tables in chapter 6 of the datasheet (DocID025715 Rev 3).
The address 0x17 for the accelerometer and gyroscope contains the STATUS_REG register. The same address for the magnetometer is reserved.
Maybe that is the reason your changes did not change the behavior. Have a look at the LSM9DS1.cpp file.
The writeRegister function requires two addresses and a value. There are two defines at the beginning of the file for the two slave addresses. Use the first one to write to the gyroscope.
#define LSM9DS1_ADDRESS 0x6b
...
// magnetometer
#define LSM9DS1_ADDRESS_M 0x1e
...
int LSM9DS1Class::writeRegister(uint8_t slaveAddress, uint8_t address, uint8_t value)