Nicely put.It's certainly a good question and has caused much confusion, but I think the answer is actually fairly simple even though the underlying control processes are not. It hinges on the exact method that the FC uses to determine attitude (pitch and roll), orientation (yaw), velocity and position. Inferring from the existing literature on 9-sensor IMU-controlled flight, it turns out that the GPS data are not primary in any of those for flight control, largely because the resolution is too low both spatially and temporally to be part of any fast control feedback loop.
The 9-sensor IMU is almost certainly doing all the fast stuff using some variant of one of the standard sensor fusion method. In these methods the 3-axis rate gyros and accelerometers provide the primary time-resolved data on all the variables listed above but, since they are measuring first and second derivatives with respect to time of position and orientation respectively, they are subject to accumulating errors (effectively drift) in the integrated (orientation and velocity) and double-integrated (position) data that build over time. Those are corrected for at a lower rate using the sensor's 3-axis magnetometers (for orientation), the GPS carrier wave Doppler data (for velocity) and the GPS position data (for position).
This combined approach allows the FC to detect changes in orientation orientation fast enough (200 Hz) to apply the motor adjustements necessary to correct for them. It also allows it to know the absolute values for position and orientation well enough that in P-GPS mode it can apply the appropriate motor adjustments to correct for horizontal positional drift - i.e. it knows, relative to itself, exactly which direction in which to move. Vertical position (altitude) is easier because the up and down directions are uniquely and absolutely defined by gravity, whereas compass heading is only known relative to the earth's magnetic field.
So now it becomes clearer what happens if the magnetometer data are compromised. Yaw changes (rotation) are still detected by the rate gyros and so yaw can be stabilized, but the FC no longer knows in which direction it is facing. That means that when positional drift is detected from the slower GPS data it is unable to know the appropriate motor adjustments to correct for that. Simply using trial and error - i.e. applying a random correction and seeing how that changes the long-term position drift is not a viable fast control strategy. Due to wind if nothing else, the FC does not even know the relationship between heading and track, and so at best it would end up flying around in circles hunting for a location. For that reason it switches to ATTI mode in which it does not attempt to figure out heading (it assumes that it cannot correct for rate gyro yaw drift because the compass data are bad) and therefore cannot hold horizontal position either.
Those consequences are undesirable but inevitable, and it would require a completely different trial-and-error-based navigational algorithm for the FC to attempt to fly in a specific direction or to a specific location. I'm not aware of any current work on that problem - does anyone else have any insights in that area?
But if dual redundant hardware (IMUs and Compass) with GPSS back up are still prone to compromise, the next era would entail using TIMU chips and micro PNT.