Ho trovato la soluzione...

Bisogna rendere la colonna che si vuole creare una colonna TemplateField che contiene al suo interno un HiddenField:

codice:
<asp:TemplateField ShowHeader="False">
        <ItemStyle Width="0px" />
                <ItemTemplate>
                        <asp:HiddenField Visible="false"  ID="hfID" runat="server" Value=<%# Bind("ID") %>  />
       </ItemTemplate>
 </asp:TemplateField>
Impostare la larghezza a 0 non serve praticamente a niente perchè la colonna, anche se vuota, viene comunque creata ed è visibile; quindi nel codice, dopo aver associato il DataSource ed effettuato il DataBind(), cioè quando i dati sono stati già associati al GridView, bisogna intercettare l'evento RowCreated della griglia e nascondere quindi la colonna che ci interessa tramite questo codice:

codice:
        e.Row.Cells[0].Visible = false;
Attenzione però che se la griglia ha una paginazione si dovrà nascondere la colonna solo per quelle righe che non sono di tipo TableCell (TableCell è infatti il tipo della riga su cui viene effettuata la paginazione).

Quindi ho aggiunto nell'evento RowCreated questo codice:

codice:
        if (e.Row.Cells[0].GetType().Name!="TableCell")
        {
            e.Row.Cells[0].Visible = false;
        }
Spero che sia utile a qualcuno...
Ciao