Respuesta rápida:
Estas usando
en lugar de tu variable del foreach. Debería ser:
Código VB.Net:
Ver originalDim nombre As String = Convert.ToString(fila.Cells(0).Value)
Respuesta correcta:
Te recomiendo que elimines todo ese código, y empieces a trabajar de forma correcta, con los patrones correctos, con la separación de responsabilidades adecuada, usando APIs y funcionalidades modernas del .Net Framework, por ejemplo Entity Framework, en lugar de esos DataSet del año '90 que son basicamente diccionarios de string,object, no te dan compile time safety, no son facilmente refactorizables, y te obligan a escribir el SQL en un string en lugar de usar LINQ como Dios manda.
Iterar una serie de registros y procesar datos NO es responsabilidad de la UI. Por lo tanto tu código debería estar en cualquier lado menos el Code Behind de un form. Por cierto winforms es obsoleto, te conviene usar WPF.