A cell header is non-graphic and does not have a level. Since each graphic component of a cell may have its own level, it would not make sense for the cell header to have a level.
Ahmet Sedat ALIS:
if( mdlElement_getType(elP) != CELL_HEADER_ELM )
Your test should be if (elP->ehdr.isGraphics) when getting a level.
A SmartSolid cell is no different. It does contain a lot of non-graphic data that also has no level (presumably the B-REP stuff).
The components of a point cell (mdlCell_isPointCell) all have the same level.