#define e const byte e le loro reali differenze

Quello che hai fatto credo sia proprio undefined behavior, per cui non vuol dire niente. Non dà warning in compilazione?