Crazy compass inconsistent is so many ways!

For the first time in so many years, I can’t figure my compass behavior. After switching to firmware V4 is started getting compass not calibrate, or yaw angle warning and inconsistent compasses. I was like a 50 50 chance I’d be able to fly at any given time. Then I started to look at the actual compasses in pos 1, 2 and 3. They would change half the time on reboot. Added a 8000ms delay just to make sure as this is a cube 2.1 black and a older Here compass. Sometimes my i2c external would show missing. Sometimes my spi internal compass would show external though it wasn’t set to be forced external. Finally swapped for another Here compass, same behavior. Last boot LSM303D was shown external and HMC5883 was missing. This boot, SDM303D is internal and HMC5883 has reappeared as an external. I’ve also seen all compasses are external, which I know is wrong lol! What is going on! Been mapping with this rig for three years with never a glitch.

Please update to the latest mission planner, and update to ArduCopter 4.0.4 or even better 4.0.5-rc2