AVR not reset

If the code witch this line
bitSet(TCCR1B,CS10)

is uploaded and then is changed into
bitSet(TCCR1B,CS11);
and uploaded

both CS10 and CS11 bits are set

only this works correct:
TCCR1B=0;
bitSet(TCCR1B,CS11);

Is there no RESET after uploading?

If you’ve uploaded new code, be assured you’ve had a reset.

Tried this (Arduino Nano):
TCCR1B is not reset to zero, not even after restarting the IDE
(A jump to 0x0000 is not a reset!)

void setup() {
  Serial.begin(9600);
  while(!Serial){};

}

void loop() {
  TCCR1B|=4;//any new value wil be or-ed after new upload
  Serial.println(TCCR1B);
  delay(1000);

}

It looks like the default TCCR1B value after your Arduino UNO resets is 0x03. Setting bit 0 (0x01) or 1 (0x02) won't do anything because they are already set. Setting bit 3 (0x08) clears bit 0 and bit 1 so you end up with 0x08. You can set bit 2 (0x04), 4 (0x10), 6 (0x40), or 7 (0x80) but if you try to set bit 5 (0x20) nothing happens. Remember you are talking to a hardware register, not RAM. Bits in a hardware register can do magical things.

0x00 -> 0x03
0x01-> 0x03
0x02-> 0x03
0x04-> 0x07
0x08-> 0x08
0x10 -> 0x13
0x20 -> 0x03
0x40 -> 0x43
0x80 -> 0x83

gbaars:
(A jump to 0x0000 is not a reset!)

No disagreement here, but starting the bootloader is a whole different thing.

In the datasheet bit 5 is not implemented.
The AVR regs should not change, unless
the bootloader has something running in the background.

You have the source…

cores/arduino/wiring.c init()

// timers 1 and 2 are used for phase-correct hardware pwm
// this is better for motors as it ensures an even waveform
// note, however, that fast pwm mode can achieve a frequency of up
// 8 MHz (with a 16 MHz clock) at 50% duty cycle

#if defined(TCCR1B) && defined(CS11) && defined(CS10)
TCCR1B = 0;

// set timer 1 prescale factor to 64
sbi(TCCR1B, CS11);      // ⬅︎⬅︎
#if F_CPU >= 8000000L
sbi(TCCR1B, CS10);      // ⬅︎⬅︎
#endif

gbaars:
The AVR regs should not change, unless the bootloader has something running in the background.

What makes you think that? There is a lot of code that executes after the reset and before your setup() gets called.
If you don’t want the hardware touched between the reset and your sketch running, define your own “main()”, don’t use any Arduino features, and upload using an ISP. Then there is no bootloader and (I think) your “main()” gets control right after the reset.

Did some (Borland) C++ programming in
the (MSDOS) past. Indeed programs always started
with int main() {.

gbaars:
Did some (Borland) C++ programming in
the (MSDOS) past. Indeed programs always started
with int main() {.

or crt0, depending on your POV.