Typically the cause is the KPro board coming loose, the soldering of the pins into the ECU or the soldering of the two jumper wires on the bottom of the ECU. Sometimes these problems do not occur immediately until either vibration or colder temperatures results in an intermittent connection ...
Just to add, the USB was not connected to the ECU when the engine check light illuminated, and it has not been for some weeks. It is only connected when uploading calibrations, or datalogging.