if (TWDR == 0xde) abortFlag = true; did not work (never triggered) - I tried it as 0xde is the start of the header MegaMan sends every time it has new data
if (TWCR & (1<<TWINT)) abortFlag = true; did not work (triggers all the time and prevents animations from running)
if ( (TWCR & (1<<TWINT)) && (TWSR == TWI_SRX_ADR_DATA_ACK) ) abortFlag = true; did not work (never triggers)
if (TWSR == TWI_SRX_ADR_DATA_ACK) abortFlag = true; did not work (never triggers)
If I may suggest, if you have problems with code post the whole thing. Not just snippets.