Se la dichiarazione

è corretta, modificando la mia riga come
Ciao, quel codice, scritto in quel modo, non è corretto. Il selettore con nome id deve essere specificato anteponendo il carattere cancelletto al nome id (#prova) e non come hai scritto (.id prova).

Ad ogni modo lo pseudo-selettore :hover non è possibile applicarlo sul css in linea (cioè nell'attributo style sul tag).

Questo invece è corretto
codice:
a.square:hover { color: black; }
A me funziona. Tu esattamente cosa ti aspetti che faccia?

Ovviamente va dichiarato opportunamente dentro il tag style sull'head o nel foglio di stile.

Bisogna inoltre verificare che non ci sia altro css che influenzi il comportamento di quella regola.