The ability destroys the creature at the end of the combat, which is after all first strike and normal damage dealing is done. This means that a creature may have to regenerate twice to survive the combat, once from damage and once again at end of combat.
Flying
Whenever this creature blocks or becomes blocked by a non-Wall creature, destroy that creature at end of combat.