Hi inka,
ich habe nicht das ganze Programm angesehen.

Nur was mir auffällt:
Echo: soll an INT1, der ist an der m32 an XBUS, Pin8
INT1 des ATmega32 ist PD3,- das ist in dem Programm gemeint.
Im RP6 System liegt INT1 des ATmega32 auf der CONTROL M32 am XBUS INT2 (also Pin 11).

Trig: soll an den PB0, der ist durch das EEPROM an der m32 belegt, habe also den PB1 gewählt, der ist am sockel IC5, Pin1 (EEPROM Chip select2) - hätte es hier eine alternative gegeben?
PB1 geht, aber ist schlecht erreichbar (nicht an einem Stecker).
Nimm z.B. PC7, der ist frei und liegt am Stecker I/O, Pin 1.
Als Ausgang definieren: DDRC |= IO_PC7;
Auf HIGH setzen: PORTC |= IO_PC7;
Auf LOW setzen: PORTC &= ~IO_PC7;

#define INSTR_PER_US 12
Die M32 läuft mit 16 MHz (nicht mit 12), so dass man diese und die folgende Definition anpassen müßte.

TCCR0 = (0<<CS02)|(0<<CS01)|(1<<CS00);
Auf der M32 ist der Timer 0 belegt. Aber: Timer 1 ist frei und nutzbar!