Looking for a Special Delay Library

The comments in the setup function explain what is happening as clearly as possible without going into great detail.
All it basically does is set up a timer to call a function every 10 uS.
That function decrements the integer 'myCounter' until it reaches 0.

Inside of your loop function, there is a test to see if myCounter has reached 0. When it does, you are to play the next note in your song and reset myCounter to 200.

Since the counter is decremented every 10 uS for a total of 200 times before the conditional block is called, it takes ~2ms for the for the conditional block to evaluate as true. In the meantime, there is more or less no delay for the rest of the code you want to execute.

When it is all said and done, however, I doubt that is even necessary. Especially with a song like yankee doodle where the tone does not have to change any where near as often as 2 ms. You should be fine using the millis() function and good ole subtraction on a cached int without any noticeable limitations.