unexpected itoa() behavior

Any thoughts on what I am doing incorrectly with itoa()?

Well, for one thing,

(itoa(x, mystr, 10));

You are wrapping it in unnecessary parentheses.

For another, you are printing a bunch of stuff, with no way to identify what is supposed to be being printed.

For instance,

Serial.print("myStr from write: [");
Serial.write(myStr);
Serial.println("]");

would be far better for understanding what the methods you are using are doing.

Finally, I fail to see what the problem is, if that data represents only one iteration of the loop. You convert the value 32 to a string, and then write that string, print that string, and print the value twice as a decimal value, once as a hex value, once as an octal value, and once as a binary value. The output is exactly what I would expect for the first iteration of the loop.

Nowhere have you printed x as a char.