#define ERR_OUTDATE -29

sto definendo un int che in teoria sarebbe di 4 bytes
Assolutamente no. Il preprocessore semplicemente sostituirà tutte le occorrenze di ERR_OUTDATE nel codice con -29.