Roost restores half of the user's
maximum HP. If the user is a
Flying-type, it will lose its
Flying-type (thus being treated as a
single-type Pokémon) until the next
turn. If a non-Flying-type uses Roost,
then there are no additional
side-effects.
Roost does away with your flying typing the turn it's used, yes. That dynamic punch would then be super effective against skarmory without its flying typing.