Arduino behaves non-deterministic?

Like a boolean variable was not set, but the println before and after was executed. Or motor-speeds are only set the first 2 iterations, or the value of a variable was the same from a previous compilation or the assignment of a value only works, if I used a println to control the assignment.

These are pretty much classic symptoms of "buffer overrun" errors, where you end up writing "random" values to variables that you didn't think you were modifying. (or the return address of a function, causing it to return to "somewhere else.")