The 2d6-roll-over-morale (Classic D&D) system is what I use in every edition of D&D. I occasionally make more than 2 checks though - fighting to the death should be rare IMO, though it does happen. Checking before combat begins is a good idea - unless monsters appear to have an overwhelming advantage, it makes very good sense to check if they're willing to initiate combat. I rarely check morale on first monster death, unless it's an opponent who expects to win without losses - predator pack animals or brigands, maybe. I usually check if the monsters are taking significant casualties without inflicting any, or if the ratio of losses is going badly against them. I usually check twice per battle, occasionally three times. If the enemy are not really 'fight to the death' types they may auto-flee if the battle is clearly lost and they're not defending something important.
Generally opponents should be reluctant to initiate combat vs a well-armed and aware enemy, but once committed the longer the battle goes on the *less* likely they are to flee, unless clearly overmatched - and they may not realise they're overmatched. Eg in the police station massacre in The Terminator, the police kept attacking the T-101 because they thought he was just a human who could be felled by one shot. If they'd known he was an armoured cyborg I'd have had them rolling lots of Morale checks. Likewise with monsters vs PCs.