The rule only applies when you go from a base class up to a derived class.
Why downcasting from Object back to the original type works is becoz it uses unboxing, instead of casting. which retains the object's original structure type. And don't try casting from ManagementBaseObject -> Object -> ManagementClass because boxing will throw an exception coz of type mismatch.
Whereas when you downcast from a base class to a derived class, your base class does not have the additional information of the derived class to be created as a new derived type. That's the problem. That's where interfaces come in. Interfaces guarantees that you have those methods within your objects, else it'll throw an exception before you even start using it.
I don't know much about WMI provider, but the differences I see from ManagementClass and ManagementObject to ManagementBaseObject is very small. Unless you're meant to work in ManagementClass, I'm sure the ManagementBaseObject will provide you with everything you need.
If you can show some code, and which class/method you're using, maybe I can help a bit. Coz I've never used WMI before.