Figured this out now - the pgm_read_byte() definition in 'MPU6050.cpp' of the ported I2CDev library was incorrect and resulted in the wrong data being written to the MPU's memory.
For reference, the correct definition is:
#define pgm_read_byte(addr) (*(const unsigned char *)(addr))