Anche a me è successo di imbattermi in questo errore.
In realtà è una cosa che può succedere solo con determinati webcontrol (GridView, DetailsView, FormView che usano la propretà DataKeyNames).
La motivazione è meglio spiegata qui, ma comunque è dovuta al fatto che questi webcontrol generano automaticamente del codice che richiede il viewstate criptato.
Questo può generare errori nel caso di una pagina che impiega molto tempo a caricarsi (il codice di criptazione è a fondo pagina) e che magari viene utilizzata da un utente "troppo veloce", oppure ancora nel caso di load balancing (tra server o anche solo tra web: quello che viene chiamato "web gardening").
Occorre quindi specificare, a livello di web.config, una machine key fissa (in modo che ne venga utilizzata una per sito e non una per macchina).
Info per generare una machine key qui.
Una buona panoramica del problema qui.