codice:
((Button)FindControl("cas" + (Convert.ToString(x) + Convert.ToString(y)))) //1
.Text = Convert.ToString(numScelto); //2
riga1: se findcontrol non riesce a trovare il controllo o se il cast non va a buon fine ritorna null e...
riga2:...richiamare la proprietà Text da un null non è possibile e da qui l'errore che riporti.
FindControl è un metodo della classe control ed è accessibile per tutti i controlli poichè essi possono contenere controlli interni.
Findcontrol cerca solo i suoi controlli figlio e non scende nella discendenza (nipoti ecc.).
Infine, poichè stai scrivendo codice in metodi della tua classe pagina che deriva da Page la quale deriva a sua volta da Control, succede che chiamare FindControl come fai tu significa ricercare solo i figli diretti della tua pagina e non i pulsanti che magari sono inseriti in un Panel.
Se i pulsanti si trovano in un Panel, diciamo Panel1 dovresti fare cosi:
codice:
Button b = Panel1.FindControl(ecc.ecc..) as Button;
if (b != null)
b.Text = Convert.Tostring(ecc. ecc.);