Dein RN-Control ist richtig gefused.
Das ganze ist ein Compiler-Problem. Es funktioniert nicht richtig wenn man dem _delay_ms eine Variable übergibt. Der Compiler optimiert dann da einiges weg.
Du brauchst nur die Optimierung abschalten, dann hast du den richtigen ton.