Actually, i see the problem. You're using the wrong event for formatting...

Code:
Private Sub DataGridView1_CellFormatting(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles DataGridView1.CellFormatting
    If e.ColumnIndex = 0 Then
        If e.Value IsNot Nothing Then
            e.Value = StrConv(e.Value.ToString, VbStrConv.ProperCase)
        End If
    End If
End Sub