Both have their advantages and disadvantages, it depends a bit on the program. If the program is large, and the machine is not equipped with much memory, then using the Mirror Image function would have an advantage. The cutting program could go in a sub and called from the main with Mirror Image on and off. The biggest disadvantage with doing a straight Mirror Image is that one cutter path will use Climb Milling, whilst the other will use Conventional Milling.
Your example program has been programmed so that the cutting method for the Mirrored Detail is the same. If the machine has sufficient memory, or the facility for DNC, I would prefer to duplicate the code so that the cutting method was consistent.