Variables to get surface type

Hmmm, where did you read that getting the surface type (water, sand, asphalt, …) only works with gears down?

I just implemented this today in my application, and while I did not pay special attention to the gear I definitively got values while the aircraft was airborne.

Maybe try again with the latest FS2020 update?

P.S. You did not post your question in the forum specific to SimConnect, but I am getting the SURFACE TYPE variable via SimConnect (and I am totally unfamiliar with all other aspects of the MSFS SDK).