Want this question answered?
After you get the Cobble badge from the Veilstone gym.
You need to have beaten Maylene (the fourth gym leader who is in Veilstone) to be able to use fly.
In Pokémon Diamond and Pearl you must defeat Maylene in Veilstone City's Gym and receive the Cobble Badge, this will allow you to use the HM Fly outside of battle.
The badge from Cianwood.
You need the Thunder Badge.
The fourth one.
To use the HM Fly, you have to have the Thunder Badge, won from Lt. Surge in Vermilion City.
No
No
You can use the move as soon as you get it. You can fly to different towns with a certain badge.
get the 4th badge in celadon city
No, Dustox cannot learn HM02- Fly in Pokémon Emerald