The most likely explanation is the registry entry for the object has been corrupted in some way, or the dll that exports the object is corrupted in some way. For the latter it could be missing completely, or just in a bad state for some reason
I'm not sure if it will help anyone else who comes a long this thread, but the problem was that I was trying to my code in a stand alone code inside of Visual Studio. I had to convert my code into a button to get around the error. So, it's definitely an issue with the library references.
That would indeed normally fix it if you are running a standalone app. Totally forgot to initialize my license in my unit test.
Why would this change all of the sudden over the course of a week? This happened to me on some commonly used mxd files from a certain time period back. The error also stated that I may have used a newer version to save. I'm running and have been running 10.5
What gives?