If the SU10 Navdata option is Disabled:
The most likely cause is GSX didn’t read the correct .BGL, and the most common reason for this, the airport .BGL is larger than the maximum threshold GSX considers reasonable for the airport file, which by default is 20MB now, but can be controlled with the airportCacheMaxBGLSizeBytes parameter in the Couatl.INI file. If an airport file is rejected for this reason, it will logged when the airport cache is being rebuilt.
Another common reason why an 3rd airport hasn’t been recognized by GSX, is the airport file lacking a proper DeleteAirport command, which is normally supposed to be present, when an airport replaces a default one.
This might be intentional, for example the 3rd party airport might just be an enhancement of buildings and texture but might still use the exact same parking names/positions and the same taxiway routes from default, so in this case, lacking an DeleteAirport command to remove these elements is correct, but GSX simply doesn’t support this: when a .BGL is used, it’s assumed to be self-contained, if a scenery requires the underlying default airport, GSX won’t load two .BGLs at once, so it will only use the default one, which in THIS case would be correct, since that airport needed the default data anyway.
However, most of the times the 3rd party airport DOES change parking and taxiways, and the lack of a DeleteAirport command to remove the default one is just a mistake, because it would cause conflicting parking/taxiway data. In this case, the airport developer should fix it.
This situation, of course, is ALSO logged in the GSX log file, provided logging is enabled in the GSX Troubleshooting settings page.
When the SU10 Navdata is Disabled, the GSX Scenery customization page will tell the name of the .BGL in use, and it’s not the one that comes with the scenery, and it’s the default one, it’s likely that one of these two issues happened.
If the SU10 Navdata option is Enabled:
The only possible reason why, when the SU10 Navdata API is ENABLED, an airport is not recognized, is there’s another “fake” airport, like a Seaplane base or an Helipad, using a fake ICAO code, which is closer to your actual position than the main airport.
GSX obviously have code to detect these cases: in order to be recognized as a proper airport, an airport must have at least 2 Parking spots, one runway and one taxiway. And, if all runways are water, the airport will also be discarded. If all of this fails, it’s possible to manually exclude that fake ICAO from GSX, as explained in the GSX manual where Auxiliary airports are discussed.
An easy way to detect this case, is to check the airport name and ICAO in the GSX menu to be the one your are expecting.