You will have to measure teh string yourself. One place you can try to do this is to add an OnDraw override to the EllipsisCellRenderer class. Here is a try at it. It probably needs tweaking some.
protected override void OnDraw(Graphics g, Rectangle clientRectangle, int rowIndex, int colIndex, GridStyleInfo style)
{
Rectangle rect = new Rectangle(clientRectangle.X, clientRectangle.Y, clientRectangle.Width + this.Model.ButtonBarSize.Width, clientRectangle.Height);
int width = (int) g.MeasureString(style.Text, style.GdipFont).Width;
if(width < rect.Width)
{
style.ShowButtons = GridShowButtons.Hide;
GridStaticCellRenderer.DrawText(g, style.Text, style.GdipFont, clientRectangle, style, style.TextColor, false);
}
else
base.OnDraw (g, clientRectangle, rowIndex, colIndex, style);
}