The overflow interrupt triggers when the timer2 count goes from 0xff to 0x00. I believe that you want the interrupt to happen when the count reaches the compare register value. The interval is the 1/16MHz * ( the value in the compare register) starting from zero. The interrupt interval period is 62.5 nanoSeconds (or 1/16,000,000) * 256 (timer 2's max count) when using TIMER2_OVF_vect because timer 2's counter is never set to a value from which it counts upwards to the overflow.

Oops, what do I use for the sound? OCRB of channel 2. It can only go 0 - 209, so I had a C# program scan the wave file, extract and scale the samples into C to copy/paste into the source. Since my interrupt happens at 76KHz, I count off 9, then 10 interrupts to fetch the next sample and put it to OCR2B.