Why does the Oscilloscope show a longer period of time than my code sets?
The main problem

It looks like the chip is running at a slower clock speed than it should be.  If delayMicroseconds assumes a 16MHz clock and the chip is actually using it's 8MHz internal oscillator, for example, the pulses would double in length. You could check that:


The crystal oscillator is running and at the correct frequency
The atmega's fuse bits are set to use the external oscillator
There is no prescaler set


Also

The Arduino delayMicroseconds function is not a good way of making something happen every 85uS, and digitalWrite is not helping your case either.  If you go digging into the definition of the two functions (which are provided by the Arduino project, not by Atmel, who make the actual microprocessor) you'll see that they are actually remarkably complicated.  Now, the compiler will simplify them quite a lot, but even then you'll be left with a lot of operations, and those operations will lengthen the pulse.

You could rewrite the code to speed things up, but there is a better way. The AVR chip used in the Arduino has several timers on it.  These run in parallel with the cpu which runs your code, and they can toggle pins or run short pieces of code at very precise intervals. The downside is that although the timers are a core feature of the AVR chips, they are rarely used in the Arduino world. So you'll have to go diving into some less user-friendly documentation to figure out how to use them.