Oh it should have been able to do all that before
When the Teensy reboots, the device goes away and another shows up on the same USB port. There is no way for the software to differenciate between an unplugged device, and a Teensy reboot or reset. What TyQt does is keep around the board data/info, and wait a little before dropping it (that's the greyed out board thing in the device list). If a device shows up on the same USB port before the timeout, with the same serial number and it's also a Teensy (compatible VID
ID pair), it's considered to be the same board. So TyQt keeps the knowledge of the model and all is well, it treats it as the same board.
The only problem with this is that on Windows, the new device can take very long to show up... so often when it did, TyQt had already dropped the board because the timeout was 3 seconds. I changed it to 7 seconds with this release, let's see how it goes now. I was relunctant to change it before but after testing the software a little more on Windows, I realized that 3 seconds was way too short. Even though oddly enough, in my virtual machine tests, it was often enough so that's why I kept the value for so long.
As for the bug you encountered, I don't know. The interaction with the COM port bugs Paul also gets and my general lack of knowledge on Windows debugging, means it's hard to know for me what goes wrong. I try to improve the Windows code here and there, and I even finally fixed the XP support (which took several hundred lines of additional code), but I have a hard time knowing if I actually make it better.
On the positive side, it seems the USB and serial bugs and delays are gone from Windows 10, or so it seems based on quick tests.