Just a followup, I think, you would like to know that.
I have checked the following:
1. Create totally new project with my board and a single servo. Nothing changed. It would start moving servo only after bootloader flashed program. Servo doesn't move after reset.
2. Change fuses so, that bootloader doesn't start(boot vector fuse bit). After flashing only this fuses - everything works fine. I can reset and power-cycle my board in any way. Servos keep initializing and keep moving.
So I have some questions:
1. How does webbotlib interfere with AVRUB? I believe it is a bootloader fault in this case. But I had an experiment with constantly printing "hello world" via UART and I saw it in my terminal program. MCU didn't reset after bootloader gave up, because it would start bootloader again, which sends "connect char" via UART. So if I pressed reset, I saw multiple connect chars(bootloader works) and after that(10 tries to connect and get firmware) I saw "hello world" printed in a loop. But servos didn't initialize properly.
2. Is there any configurable bootloader, that is known to work good(not interfere with webbotlib), so that I used it for flashing? I'm too lazy to connect my programmer to the board, have this wires across the table, this makes me nervous