Yes, the codes can only be used once and the units are tied to the city you redeem them in.
The Dwarven Units can die, but can be replaced by units from the Market for crowns earned from quests, achievements, battle, etc.
The Haunter Dragon, like other dragons, is Immortal until level 8, after which they become Mortal. If your dragon "dies" while Immortal it will resurrect in time (next battle/scenario), if it dies while Mortal it's permanently dead.
If you don't want to lose your Dragon or Dwarven units in battle, pull them back from combat when their Hit Points get low and heal them. As long as the Dwarven battalions have at least one unit in them they can be restored back to full strength.
You can also pay off your enemy to escape battle, but be careful, if you don't have enough resources in your army to pay them then you pay them off in units instead (weakest ones first).