Do you understand that the Com port in Windows that you use to upload to the ProMicro is not
the same com# that you will use to establish serial communication?
For example, the JPG attached shows the error that is normal
after I uploaded on Com11 but tried to open the Serial Monitor window without
changing to the new enumerated port Com13. When I used Com13 (did not exist before I uploaded) the communications with the 32U4 went well @ the 9600 BAUD that I configured.
However, because the serial port is virtual, it disappears when the board resets, the Arduino software uses a different strategy for timing the upload than with the Uno and other boards. In particular, after initiating the auto-reset of the Leonardo or Micro (using the serial port selected in the Tools > Serial Port menu), the Arduino software waits for a new virtual (CDC) serial / COM port to appear - one that it assumes represents the bootloader. It then performs the upload on this newly-appeared port.
So, to recap: You upload on one com# and you do serial on another com#.