There is no way in .NET to place a new cell instance by reading a cell definition from a cell library.
When creating a new cell instance, there is a lot of unseen work involved in copying a cell definition. In addition to the graphic elements, there may also be tags or Item Types. For example, tag definitions are extracted from a cell model and attached to the cell instance. Symbology must be synchronised between the cell library and the DGN model where the cell instance is created.
C++ programmers can use the MDL function
mdlCell_getElmDscr(). It would be great to have a true C++ method, and it would be even better to have any kind of .NET method.