In your macro:
#define SIZE (sizeof(Array)/sizeof(Array[0])-1)
for a byte array, it evaluates to;
size = 10 / 1 - 1 = 9
Then in your for loops, you get:
for (j = 0; j < 9; j++) {
which only reads 9 elements (0-8), not 10. The macro you are using gives the number of elements in the array, not the highest index of the array. You would never read the last element...the old off-by-one problem. You should drop the -1 from the macro.