A class name in CIM (e.g., CIM_ComputerSystem) comprises two parts : a schema name and an identifier separated by an underscore. For obvious reasons, the schema name may not contain an underscore but there is confusion about whether the identifier may. That is, is CIM_Computer_System a valid class name?
Appendix F of issue 2.2 of the CIM Specification (document DSP0004) allows identifiers not only to contain underscores but even to begin with one (making CIM__Computer a legal class name). Some mof compilers, however, assume that the only underscore in a class name occurs between the schema and the identifier and reject class names with another underscore.
My advice is to keep clear of underscores in class names.
While on the subject of class names, there is also the problem of quotation marks (") in class names. The DMTF specification is also somewhat vague about these and you would do well to avoid them.