Globale Variablen sind nicht gut, int i kann im Kopf der Schleife erstellt werden:

Code:
int hunderter=5;     

main ()                    
{ 
   while (true) 
   { 
   for (int i = 0; i < hunderter; i++) 
     { 

      PORTB |= (1<<PB1); 
      waitMs(100); 
      PORTB &= ~(1<<PB1); 
      waitMs(100); 
        } 
        
        waitMs(1100); 
   } 
}
Im Prinzip sollte es funktionieren, vorausgesetzt, deine waitMs arbeitet richtig. Schau dir mal die _delay_ms(x) Funktionen aus der util\delay.h an.