You must set the port from which SPARK will use when connecting to the computer. for example, when connecting Spark to a com- puter, in the hardware properties of the computer, you have to go to the device MANAGER, then the SERIAL BUS CONTROL CONTROLLER, and select the appropriate connection, SPARK-COMPUTER, open the properties of a given port and manually change it to, for example: COM4.
Definitely sounds like the IMU board. I never had a crash then one day out flying it just went nuts. I tried everything to control it with no luck. Had 16 satellites then an alien took over my spark and eventually crashed into a tree branch. I had done compass calibration and imu calibration before flight that day. DJI care is worth the money