bei der Inititalisierung des TWI musst du in TWCR auch das TWIE-Bit setzen, ansonsten wird garantiert kein Interrupt(die Routine dazu würde ich übrigens kürzer machen) ausgelöst

weiterhin musst du beim Initialisieren auch das TWINT in TWCR auf 1 setzen und mittels "sei();" Interrupts global aktivieren, allerdings das erste nach dem "sei();", sonst geht es nicht