Arduino won't go to sleep!

I agree. I will use my method when I need 1-2ms accuracy for each sample. You are correct, this error accumulates. If I need more accuracy I will be forced to use the method you were discussing.