ATtiny85 PWM: why does COM1A0 need to be set before PWM B will work?
Is this an old chip? It appears a couple people have also had this problem.

http://www.avrfreaks.net/index.php?name=PNphpBB2&amp;file=printview&amp;t=119678

Towards the bottom of the thread they concluded it was a hardware issue in the chip that has since presumably been fixed. Your code looks good. I wonder if Atmel ever fixed the issue.

The  ATtiny85 datasheet in the Errata (section 27.2.3 / page 213) says:


  4) Timer Counter 1 PWM output generation on OC1B – XOC1B does not work correctly
  Timer Counter1 PWM output OC1B-XOC1B does not work correctly. Only in the case when the control bits, COM1B1 and COM1B0 are in the same mode as COM1A1 and COM1A0, respectively, the OC1B-XOC1B output works correctly.   
  
  Problem Fix/Work around
  The only workaround is to use same control setting on COM1A[1:0] and COM1B[1:0] control bits, see table 14-
  4 in the data sheet. The problem has been fixed for Tiny45 rev D.