SAP Support may deny support for anything with an implicit enhancement, dynamic assigns up the call stack, or any kind of user exit. The support comes back when you reverse or switch off the exit.
You'll also have to take any enhancement or user exit as a solution provider.
Ultimately, the customer have to decide whether they really want this functionality. I think in all my 17 years I've never seen an implementation that didn't have some kind of direct modification. At least they're better than copies of standard programs!
Another approach that occurs to me, when you need data not available through the interface, is to make an enhancement/use an exit in the place where the data is present, and store it, perhaps as static attributes of a class.