The character of the bond is determined by the electronegativity of the atoms.
Speaking of bonds as purely ionic or covalent is not always correct - usually it is more correct to say that a bond has ionic or covalent characteristics.
So comparing the difference in electronegativities gives us the following:
0.0 - 0.4 non-polar covalent
0.4 - 1.7 polar covalent
> 1.7 ionic
At the upper end of the polar covalent spectrum, the bonds frequently have both covalent and ionic characteristics.
For organometallic compounds, the difference in electronegativity between Li and C is 1.57. So while this is still in the polar covalent range, it is also close to ionic. Similarly, the difference between Mg and C is 1.24 - again, a very polar covalent bond.
Compare this to the difference between H and C => 0.35 - a non-polar covalent bond.
So to answer your question, the thing that is "special" about carbon is that it has a fairly low electronegativity compared to the Oxygen and Fluorine Group atoms. Granted, bonds with carbon are also going to be weaker than in say LiCl, but that's what makes organometallic compounds actually work to form carbon-carbon bonds.
(The electronegativity values came from wikipedia's great chart)