So the setting/resetting of those registers is just initially random then :o
No. The timer registers are set to documented initial states.. Timer 0 is set up to control millis() and Timer 1 and 2 are set up to produce phase correct hardware PWM with analogWrite(). The Timers are set with prescalers of 64.
The timer set up is done in a function called init() in a file called wiring.c. This is part of the IDE, and you can find it on your computer at
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino\wiring.c
For debug purposes, you can always show the value of any timer(or any other) registers with serial prints like this. It's good to check what you actually get when setting up registers with custom values.
byte timerRegisterValue = TCCR1A;
Serial.print("Timer Register TCCR1A = ");
Serial.println(timerRegisterValue, BIN);
;