I2C_MasterReadBuf(); does not shoot error, when the slave addressed specified in API was not present on the bus.
the i2c status returned by the api is '0'.
I usually use a sequence of
SCB_I2CMasterSendStop() APIs to test if the addressed device is ready/existing. The returned status will show.