Once you have decided on decimal you might as well pick a better encoding. Excess 3 [1] has many advantages. One is that the 9's complement is the bit complement, another is symmettry. The correction after a binary add/subtract is simpler. By making the fundamental adder a subtractor you can avoid the appearance of negative zero, just as in binary operation.
The sign is detected from a single bit in 9's or 10's complement arithmetic. 9's has the advantage of allowing direct display, and the disadvantage of needing end-around carries.
The only thing that favors the use of BCD is the existence of such instructions as DAA (in X86) for conversion.
[1] Excess 3 coding uses the binary values 0011 thru 1100 to express 0 thru 9. For addition the excess 3's add, so correction is subtract 3. For subtraction, the excess 3's cancel, so correction is add 3. The binary carry is the decimal carry.