Because you might use it in an app that you are not going to distribute via the public application stores. It's also possible that the reviewer made a mistake.
I don't buy this - if you add a feature to software you know it's going to get used - if they needed it for internal stuff they could add it in some private library.
And, if it's something people want so bad that you'd allow it for non-published applications then you clearly need to solve it by enabling or offering some sort of replacement for published applications.
The underlying API is a decade or so older than the current version of the human interface guidelines. It's entirely possible that if they were writing the API today, they'd leave that capability out.