Furthermore, what will happen if for example an acknowledge won't be received? You need to take fault situations under consideration. A simple method is to send a stop condition and then send a start condition again. But you need to verify this from the I2C data register status.
When you send data to the sensor is an ACK received? If yes then you are lucky and something is wrong with the logic part of your code. If no, then you should check again all connections, maybe see the sent data on osciloscope and search all your hardware again, as well as the commands of your sensor (do you drive the correct commands on the bus?).
Something important is that you need pull up resistors on both SDA and SCL, because they are both open collector pins. Are you using those resistors?
About the code I wouldn't know about I2C registers drive on PIC, maybe someone who uses PIC could tell.
Regards,
Alexis