This code incorrect, as you are trying to draw icon in the client area at point with (0,0) coordinates:
dci.g.DrawIcon(icona, 0, 0)
More correct code what draw icon in the 0,0 coordinates of cell rectangle:
dci.g.DrawIcon(icona, dci.cellRect.X, dci.cellrect.Y)
this code is also incorrect as dci.text can be Nothing(Null) and at this place can be throws exception:
dci.Text.Insert(2, "iiiiiii")
This code is also incorrect. If you want to specify custom color in this procedure, use dci.customForeColor
col = System.Drawing.Color.FromName("Black")
MyBase.CellForeColor = col