towlerg,

Once you get the BASIC OS flashed into the device then ALL code programming is done OTA via the hosted IDE inside the module.
The only reason to use the serial connection would be to gain additional information via feedback from the module.
Some of that feedback includes...
>attempts to connect to whatever wifi you have given it credentials for
>the newly acquired IP address if a successful connection is made
>if a wifi connection is not successful then you will see the fact that the device is reverting back to an AP so you can connect to it directly to modify configuration
>after 30 seconds from most recent reset/poweron it will tell you it is starting to run the default program code (which is any code saved with out a specific file name)
>other serial data, depending on code statements like "print" or "serialprint" that direct the module to send data to the serial pins tx/rx

But once you have the BASIC OS loaded there really is no danger(that I have experienced) of overwriting or corrupting that OS from the IDE.
You just write/save your ESPBASIC code in the IDE and then click the run button at the top of the IDE webpage.

The serial feedback is just additional helpful information but not a necessary requirement to continue working with the module, changing/editing code, etc.

In my example, where the module is displaying time of day, the only way for the module to get that time is to be in STATION mode, connected to my home wifi and the www.
If the module is in the AP mode where you would connect to it directly (192.168.4.1) then it would not have access to any NTP server to get the time of day.

The real power of this module (for me), and the connection to PIC BASIC on this forum, is to easily be able to interface to a PIC of your choosing and interface via the serial RX/TX and have your PIC running it's own program and have easy access to wifi and the www

I hope this helps
good luck