We are trying to figure this one out for ourselves too. We have a pair, X8HC and X8HW - we fly them together and were suffering from the the motors just cutting out at "inappropriate moments". Sometimes one would suffer, sometimes both withing minutes.
We tried all kinds of experiments to find the trigger of the event. Taking them real high, pulling stick full down for long periods, no problems and many other theories we had.
What we settled on as a theory follows. Is it that the internal barometer that measures the height may be telling the micro controller the difference between being on the floor and the throttle pulled down for 3 seconds that turns off the motors, and it being 3m in the sky and then not to do the same?
We have found that before every flight calibrating the quad gyro with the two stick bottom right sequence seems to keep it from happening (google it). It may be the gyro calibration is merely causing a knock on of fixing this by some indirect software quirk, but for now we have not had any cut outs since doing this. Again your mileage may vary, but passing on our experience for you to try! So after switching on the drone for a session from any new position, calibrate the gyro then go flying.
We often fly around a sloping field and move from top to bottom or bottom to top, meeting the drone there, the height is significant over length of field, so wondered if this may be confusing it knowing if it is on the floor or not too.
Good luck.
tim.