Using undocumented features is always a risk. They may be used for internal needs only and you never know why and how.
I remember a strange issue about TestComplete about 10 years ago, when it was impossible either to declare a variable MSG or to use it correctly. It was related to some internal variable with the same name.
Why automate? I do automated testing because there's only so much a human being can do and remain healthy. Sleep is a requirement. So, while people sleep, automation that I create does what I've described above in order to make sure that nothing gets past the final defense of the testing group. I love good food, good books, good friends, and good fun.