ATtiny85: Using Timer1 seems to freeze code

I'm using Timer1 to generate a 25KHz PWM signal on a Digispark ATtiny85 board, which works fine with the setup code. However, after that starts, nothing else in my code seems to run. I tried to blink the on-board LED in the loop and it never did. I even tried to just write the LED high, suspecting delay() depends on Timer1, and that never even ran! Are you just not supposed to use Timer1 at all for your application?

Here is my code. It generates a 25KHz PWM signal with 50% duty cycle, but does not turn on the on-board LED. Commenting out the register initialization makes the LED turn on fine, and it blinks fine if I uncomment the rest of the loop code.

#define LED_PIN 4
#define PCB_LED 1

// the setup function runs once when you press reset or power the board
void setup() {
  pinMode(PCB_LED, OUTPUT);
  pinMode(LED_PIN, OUTPUT);

  //Below registers generates 25KHz PWM on pin 4 (PB4) using Timer1
  GTCCR = _BV(PWM1B) | _BV(COM1B1);
  OCR1B = 19; //Start out duty cycle 50%
  OCR1C = 39; //1MHz / (39+1) = 25KHz
  TCCR1 = 0x01;

}

// the loop function runs over and over again forever
void loop() {

  digitalWrite(PCB_LED, HIGH);
//  delay(1000);
//  digitalWrite(PCB_LED, LOW);
//  delay(1000);
}

I uploaded the code to a bare attiny85 and the pwm signal seems to be working fine. I'll wire up another LED and test the delay when I get back home, but I don't think timer1 should interfere with the delay

I wired up the second LED, and your sketch did what it was supposed to do. LED on pin 1 runs the blink and the pin 4 LED has the pwm signal. Maybe burn the bootloader again?

Thank you for taking the time to test my code and confirming it works!

I'm not exactly sure how to burn the bootloader, but I did find that there's a different ATtiny core that is supposedly better than the Digispark one. Located here: GitHub - SpenceKonde/ATTinyCore: Arduino core for ATtiny 1634, 828, x313, x4, x41, x5, x61, x7 and x8

Switching to that one solved the problem of the code freezing, but the timing is now wrong with any clock source other than 16MHz. I was using 1MHz before to reduce power consumption, but if I select that, the LED blinks at (I'm guessing) 16 times per second instead of once. I think I'll just deal with using 16MHz and prescaling Timer1 to get the frequency right.
edit: Apparently I need to burn the bootloader to fix this issue, which wasn't necessary using the Digispark core. I'll try that soon.