delay() causing array data to increment !?!

Which means some random variable(s) (whichever ones the compiler decided to place after the array)
is being stomped on. In C its entirely your responsibility to avoid such "buffer overruns" so you won't see
any useful compile-time warnings/errors about it.