So my question is, is there another solution to compatibility mode?
No, there isn't and trust me, you don't want to use Compatibility mode at all. What compatibility mode does, is to force your video drivers running into a reduced-performance mode (WDDM 1.0, opposed to WDDM 1.1 which is what you want to use), and we suspect this might case the objects to disappear when getting close.
Of course, you believe you "fixed" your problem by enabling the Compatibility mode, but you are making your FSX to under-perform, because video drivers will not work at 100% performances, and they will also be less efficients in memory handling.
On top of that, EVERY single registry call and EVERY single file-access call every program (which includes both FSX and all its installed modules), will be re-routed to "fool" non-UAC compliant applications to redirect registry and files writes, slowing them down, because for each of these calls, there will be an additional call to re-route the file location.
So no, you don't want to enable Compatibility mode, which is doing exactly the opposite of what you think you are achieving.
Unfortunately, since the issue with video drivers is fairly low-level, there's simply nothing we can do from our side to fix it. It's just how FSX draw objects.
Of course, you will now asking "why KIAD works"...
I guess it's because Flightbeam still hasn't *entirely* switched to 100% native FSX objects, some of them might still use legacy code (I think they will do it with the next airport ), or not use certain types of advanced material properties, which will not work well when the video drivers are forced to run in the lesser mode, because of the Compatibility setting.