While parsing IUSE for static-libs works because there is one meaning of that USE flag and the static/shared configure flags are standard, debug handling really falls down in a lot of cases. There are at least two packages now where I've had to avoid using the eclass because of this. My suggestion would be to remove the debug handling altogether - it really doesn't add anything and saves maybe one line of code if you're lucky. If not, then add a variable I can set to disable it.
I tend to agree with you on this as I've run onto this 'issue' as well later on. It definitely could use more flexibility wrt to IUSE. I think I'll move away enabling those eclass 'features' from IUSE to separate variable, for instance AUTOTOOLS_FEATURES string that could contain "static-libs" and/or "debug" and/or "in-source-build" and/or <insert other non-parametrized-just-switchable-feature>. Not that many packages use this eclass yet so there's still room for such in-place changes. I'll come up with some diff for review to -dev ml (it may take some time, I'm very time constrained recently).
This is no longer a case. I'll close the bug when you remove the 'deprecation' warning as well.