Problems Clocking

I’m trying to generate a pulse signal with clock 0 and clock 1 of the At 328’s internal clock.
I’m generating a 100 kHz signal with clock zero and feeding it into clock 1. I wan’t to use this 100 kHz input as the clock for my pulse signal. Everything works totally fine when I put clock1 in fast pwm mode. I set the prescaler so I have a 250 kHz signal (the closest I can get to 100 for simple testing) and observe the exact pulse I would expect on a scope. When I feed the 100 kHz signal in, however, the OCR and ICR values seem to have no bearing on reality and do not affect the signal in the same way. I’m very confused, am I missing something basic here? I DO believe that the 100 kHz signal from timer 0 is fed into timer 1 correctly. The signal I do see is properly synced with it, and when I get rid of the 100 kHz signal, timer1’s output disappears. Code is below, any ideas?

#include <avr/io.h>


#define T_ZERO_HUNDRED_KHZ_SIG    // Define to output a 100 kHz signal on timer 0

#define  T_ONE_FAST_PWM       // Define to enter fast PWM mode ith ICCR top


//  #define  T_ONE_W_INPUT        //  Sets timer one to accept input from timer 0

void InitPort(void)
{
//Init PB1/OC1A and PB2/OC1B pins as output
DDRB|=(1<<PB1)|(1<<PB2);


//set PD5 and PD6 as output
DDRD|=(1<<PD6)|(1<<PD5);
}

void InitTimer1(void)
{
  
  //Set Initial Timer value
  TCNT1=0;
//set non inverted PWM on OC1A pin
//and inverted on OC1B

  #ifdef  T_ONE_W_INPUT
    TCNT1=0;   
    
    //and inverted on OC1B
    TCCR1A|=(1<<COM1A1)|(1<<COM1B1)|(1<<COM1B0)|(1<<WGM11)|(1<<WGM11);
    
    //set top value to ICR1
    ICR1= 95;

    // set fast pwm registers
    TCCR1B|=(1<<WGM13)| (1<<WGM12);
    
    //set compare values
    OCR1A=5;
   #endif
   
  
 #ifdef T_ONE_FAST_PWM
    TCNT1=0;   
    
    //and inverted on OC1B
    TCCR1A|=(1<<COM1A1)|(1<<COM1B1)|(1<<COM1B0)|(1<<WGM11)|(1<<WGM11);
    
    //set top value to ICR1
    ICR1= 95;

    // set fast pwm registers
    TCCR1B|=(1<<WGM13)| (1<<WGM12);
    
    //set compare values
    OCR1A=5;
   #endif
   

  
  #ifdef T_ZERO_HUNDRED_KHZ_SIG
  
  //Place compare values to Output compare registers
  OCR0A=79;

  //Set fast PWM mode
  //and make clear OC0A and set OC0B on compare match

  TCCR0A|=(1<<COM0B0)|(1<<WGM01);
  
  #endif
  

}

void StartTimer1(void)
{
  #ifdef T_ZERO_HUNDRED_KHZ_SIG
    TCCR0B = _BV(WGM02) | _BV(CS00);
  #endif 
  
  #ifdef T_ONE_FAST_PWM
     TCCR1B|=(1<<CS11)| (1<<CS10);
  #endif
   
  #ifdef  T_ONE_W_INPUT
    TCCR1B = (1<<CS12)| (1<<CS11)| (1<<CS10);
  #endif
}

int main(void)
{
  InitPort();
  InitTimer1();
  StartTimer1();
    while(1)
    {
      //do nothing      
    }
}