Yes there is logic behind it.
With its wings, it kicks up sandstorms to hide itself. Its wings make a "singing" sound when they are flapped, earning Flygon the name "The Desert Spirit". It lives in the desert.
Source: http://bulbapedia.bulbagarden.net/wiki/Flygon_(Pokémon)
Also have a look at it's Pokédex entries:
Ruby:
Flygon is nicknamed "the elemental spirit of the desert." Because its flapping wings whip up a cloud of sand, this Pokémon is always enveloped in a sandstorm while flying.
Sapphire:
Flygon whips up a sandstorm by flapping its wings. The wings create a series of notes that sound like singing. Because the "singing" is the only thing that can be heard in a sandstorm, this Pokémon is said to be the desert spirit.
Diamond, Pearl and Platinum:
It whips up sandstorms with powerful flaps of its wings. It is known as "The Desert Spirit."
Heart Gold and Soul Silver:
It is nicknamed "The Desert Spirit" because the flapping of its wings sounds like a woman singing.
Black and White:
It whips up sandstorms with powerful flaps of its wings. It is known as "The Desert Spirit."
Black and White 2:
Known as "The Desert Spirit," this Pokémon hides in the sandstorms it causes by beating its wings.
X:
It hides itself by kicking up desert sand with its wings. Red covers shield its eyes from sand.
Y:
Known as "The Desert Spirit," this Pokémon hides in the sandstorms it causes by beating its wings.
Hope I helped :)