Mi autoquoto, perchè a forza di fare prove ho trovato questa soluzione che funziona:

codice:
    Protected Sub GridViewFirmatari_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
        Dim checkbox As CheckBox = DirectCast(sender, CheckBox)
        Dim selectedRow As GridViewRow
        selectedRow = CType(checkbox.NamingContainer, GridViewRow)
        Dim cb As TextBox = selectedRow.FindControl("TxImporto")

        If checkbox.Checked Then
            cb.Text = "0"
            cb.Visible = False
        Else
            cb.Visible = True
        End If
    End Sub
In pratica quando spunto un campo checkbox nella gridview, valorizzo con "0" un campo TXImporto sulla stessa gridview e lo rendo non visibile.
Se invece tolgo la spunta, il campo TxImporto lo faccio tornare visibile.

Può essere giusto quello che ho fatto, al di la che funziona ... ?