How are you?
Recently, I'm finding on support cases, custom code developed by our customers that are based on some internal SharePoint functionalitities obtained by reserve engineering and/or custom code calls to private/internal SharePoint methods/properties through System.Reflection (What's Reflection?)
Please, I would like to inform you that those practices are totally unsupported and it's a violation of the EULA agreed during the installation of the product( Microsoft do not allow them) . For instance, you can watch the terms for SPS 2010
Besides the previous license terms violation, it could drive your environment to an unstable status or it could create side effects in your environment. Those properties/methods are intended to be used only by SharePoint source code. On the other hand, only the public API properties/methods in MSDN/ any SharePoint SDK version are the supported ones.
Eventually, you will be prompted to change your code to a supported one and the support case will be set as solved. If the new supported code is affected by the same misfunctionality the investigation will be carry on in a new support case.
Héctor Calvarro Martín. SharePoint Dev/Core. Microsoft Support Escalation Engineer for EMEA