Mira.. no estoy muy seguro pero en una ocasion cuando mi datagrid no se traía campos.. lo que hacía era escribir un espacio en blanco en modo HTML, es decir.. puede probar si quieres con ésto:
Cita: If e.Item.Cells(1).Text = " " Then
bt2.Text = "<img src='img\eliminar.gif' border='0'>"
Else
bt2.Text = ""
End If
End Sub
Espero tambien funcione contigo...
P.D. Por cierto.. en tu datagrid..en la celda 2 tienes un boundcolumnd de tipo linkButton..?

para que puedas asignarle el texto..
Pero bueno.. de todas formas checalo y me avisas.
Saludos