Paradigm recommended installing their latest hotfix since it had a change regarding serial port handling. I did so but the problem still happened.
I had thought about using "portmon" from sysinternals over the weekend. I did so this morning. The data logged by "portmon" at the time that the Paradigm debugger hung were:
7944 09:52:46 PCW.EXE IOCTL_SERIAL_GET_COMMSTATUS NISerP011
7944 09:52:46 SUCCESS
7945 09:52:46 PCW.EXE IRP_MJ_WRITE NISerP011 Length 1: 00
7945 09:52:46 CANCELLED
7946 09:53:38 PCW.EXE IRP_MJ_CLEANUP NISerP011
7946 09:53:38 SUCCESS
7947 09:53:38 PCW.EXE IRP_MJ_CLOSE NISerP011
7947 09:53:38 SUCCESS
Unfortunately the timestamp on the "CANCELLED" entry does not reflect the actual time interval between my instructing the debugger to connect to the target, my clicking the debugger's "Cancel" button (which had no effect), and my terminating the debugger from the Windows task bar.
In contrast, the equivalent region of data logged by "portmon" for the successful case were:
7760 10:36:41 PCW.EXE IOCTL_SERIAL_GET_COMMSTATUS Serial0
7760 10:36:41 SUCCESS
7761 10:36:41 PCW.EXE IRP_MJ_WRITE Serial0 Length 1: 00
7761 10:36:41 SUCCESS
7762 10:36:41 PCW.EXE IOCTL_SERIAL_GET_COMMSTATUS Serial0
7762 10:36:41 SUCCESS
I have omitted the remaining logged data for the successful case.