Ok... ahí no me dejaste otra opción que mirar el ćodigo

Aparentemente en el main() pusiste código de prueba, porque veo que hay funciones de lectura y escritura de registro que no están siendo llamadas.
Cuestiones:
1) Adentro del while(1) usas _start(), _Wr(), _Stop() cosa que no haría nada porque la acción solo sería tomar el bus i2c, escribir dirección del esclavo, y parar. Habría que mandar otro dato que sería la dirección del registro a leer. Quiero decir, que la secuencia sería (sacado de
http://download.mikroe.com/documents/compilers/mikroc/pic/help/i2c_library.htm ):
Para leer un registro:
I2C1_start();
I2C1_Wr(direccionEsclavo);
I2C1_Wr(direccionRegistro);
I2C1_Repeated_Start();
I2C1_Wr(direccionEsclavo + 1);
valorRegistro = I2C1_Rd(0);
I2C1_Stop();
Para escribir un registro:
I2C1_start();
I2C1_Wr(direccionEsclavo);
I2C1_Wr(direccionRegistro);
I2C1_Wr(valorAEscribirEnRegistro);
I2C1_Stop();
1.1) Hacen falta los delay() entre las funciones que mencioné arriba?, creería que son funciones no asíncronos, o síncronas bah, pero en última instancia no deberían alterar el comportamiento.
2) ¿Será que está mal la dirección de esclavo? veo que en tu código del main estás usando
I2C1_Wr( 0x42 );
Pero luego en MPU6050.c veo
#define MPU6050_ADDRESS 0b11010010
Que sería 0xD2 y no 0x42.
Verifica que la dirección de esclavo sea la correcta, de lo contrario el esclavo I2C no responderá nada porque le estaríamos hablando al dispositivo equivocado.