Matt Lee and Klaus, thanks for your support.
I didn't know the double reset button for starting the bootloader, but it does not seem to help either.
I did a lot of testing, which unfortunately took a lot of time. The problem is still driving me crazy, but my successrate is improving. The results sometimes appear inconsistent, which may be due to the large amount of things you can do different or what can go wrong. Trying to find a pattern, I had to write down all the steps and results. This is a very long list now.
The conclusions so far:
1 Before uploading always check which port the Arduino is connected to, identified by the hardware type showing between brackets
2 Make sure this port is selected, identified by the "V" before the port instance.
3 Do not leave the serial monitor open while uploading a new program!!!!!!!
4 After uploading, you always need to re-select the correct comport before opening the serial monitor!!!!!
5 If you need to see the first (debug) information the program produces,
put the statement while (!Serial); in the sketch code. This causes the program to wait for a serial connection.
6 If the Arduino needs to run stand alone without connection to the PC, be sure that you remove this statement before putting the board into the product.
Leaving the serial monitor open during upload, adds a new comport in the list either 5 or 6, but usuallly not the one the Arduino is connected to. So the list gets longer consisting of an increasing number of com5 and com6 instances. Inconsistent behavior: sometimes a port instance changes identity into the other 5 or 6. In at least one attempt this happened spontaneously doing nothing but with the Arduino already in bootload state. So the double reset before compiling may be counter productive, since it increases the time this can happen.
Pressing the reset button with the serial monitor closed, has no effect on the comports. Doing the same with the monitor open adds a port of the type the Arduino is connected to, it stays selected, but the monitor no longer functions.
Remedy: close and reopen the monitor.
There seems to be a preference for this Arduino to be on COM5. While uploading with the monitor closed, it stays there. But when the Arduino is on COM6, it moves back to COM5 which is not the selected one.
Closing and reopening the IDE clears the list of comports, leaving a single com5 port selected and connected.
In a few rare occasions after successfull upload and already running program, the message "Board COM6 unavailable" appeared in the IDE. Strange since at that moment there was only one deselected COM5 in the list. But no further negative effects.
Opening the monitor clears the screen and the first debug output with it. Finally figured this out (5th conclusion)
I don't think the board uses two com ports or is even capable to. The problem is in the cooperation between Windows and the IDE. Windows considers the monitor as a separate program. After uploading the board resets and tries to reconnect, but Windows does not allow the reconnect since it considers the port still occupied by the monitor. This is the reason why it creates a new COM port.
Am I the only one with this probleM? My request to the developers of the IDE would be to find a solution for this connection problem.