A parte seguire il suggerimento di Pelletta, a cui aggiungo anche quello di mettere un paio di condensatori di disaccoppiamento sui pin 7/8 e 20/22 del micro (0.1uF), ti dico una cosa: la funzione analogWrite dell'Arduino è tarata (per lo meno fino alla versione 002x dell'IDE) per operare con chip a 16 MHz. A frequenze inferiori i tempi non tornano perché il timer non viene impostato correttamente.
La funzione tone usa poi il timer 2: se usi i pin 3 o 11 per il PWM ottieni che la modalità PWM altera i tempi del timer, portando probabilmente al gracchìo dell'audio.