Inconsistent readings of MaxBotix MB1242 Range Finder

I am setting up a plane with Pixhawk.
I have 2 GPS. one UBlox 8 connected to GPS with compass on the I2C splitter . Another Ublox 7 to Serial 3/4. External USB to the USB, external LED to I2C splitter. FrSky telemetry DIY cable on Telem2.

The MaxBotix MB1242 on I2C splitter as defined in the http://ardupilot.org/copter/docs/common-rangefinder-maxbotixi2c.html

First time after I connected the range finder after modifying the two parameters - the status on the mission planner showed proper result i.e. the “sonarrange” value in meters varried if moved the plane up or down vertically.

However, when I connected after a couple of days, there was no reading in the sonarrange. Disconnected the sonar and connected it back again. After a few tries, the reading start appearing.

Yesterday, I noticed another thing (after trying to get the range finder to work). While on ground the “sonarrange” value was stuck at 7.65m. I lifted the plan slightly and the value changed to 0.2m

Not sure where the problem is (Pixhawk, I2C splitter or cables or MB1242 itself) and certainly no idea how to debug this. Can anyone suggest some steps to isolate the problem?