I'm on 15.0.3.
I suspect this behavior changed in 15.7, but I don't have one of those.
Anyway, it would seem there is no magic bullet. I just need to manually modify all my datalength() tests in my code if I want it to continue to work in ASE16.
Thanks.