If there's a BADI I would go for the BADI, I understand it's a little weird, because the BADI's are placed in the standard component, so if you enhance the component and redefine the methods where the BADI's are called and put your logic there, the result will be pretty similar. Why you should redefine instead of use the BADI?, IMHO I don't think there's an exception, so as I said in the begining I would go for the BADI as the behaviour of the UI can change for notes, SP or ehp, if you you have the component redefined maybe you lose this functionality even if you called the SUPER properly and SAP support you, but, if you are using a BADI and using it as the way is meant, SAP will support you or at least they won't have the excuse to not support you
Cheers!
Luis