Porque en el momento que haces el read accesas al primer registro y cuando estas haciendo el binding de tu control continua... es por eso que te recomiendo que mejor lo hagas así:
Cita: ObjConn.Open
ObjReader = ObjCmd.ExecuteReader
dgArticulos.Datasource = ObjReader
dgArticulos.DataBind()
ObjReader.Close()
ObjConn.Close()
IF DataGrid1.Items.Count > 0
Label1.Text += dgArticulos.Items.Count & " " & strNombreFamilia
Else
Label1.Text += " " & strNombreFamilia
lbInstrucciones.Text = "Seleccione opción en en menu de la izquierda"
End If