[quote user="Maury"]Creating a cell element is a bit confusing[/quote]
It's gradually becoming easier. From DgnPlatformNet for Update 4 (this may be in earlier versions)...
CellHeaderElement cell = new CellHeaderElement(DgnModel, String, DPoint3d, DMatrix3d, IList<(Of <<'(Element>)>>));
Create a new named CELL_HEADER_ELM with supplied origin and rotation. After creating the cell header the application should use AddChildElement to add child elements to the cell, and AddChildComplete once all children have been added to finish the cell creation.