Yeah, when you've got more than 1 Teensy connected, the Upload from Arduino runs teensy_reboot, which searches for the first Teensy is can find. It don't have any way to know which model each connected device is when it's running an Arduino sketch. So it reboots the first one it can find. If it finds a 3.1 first, that'll get rebooted, even if you compiled for LC.
Teensy Loader does check if the code is compiled for the wrong chip (if it can access the .elf file), so if teensy_reboot found the wrong device, you'll get that dialog and the wrongly rebooted 3.1 will sit there in programming mode.
Clicking Verify should never cause any Teensy to auto-reboot. But if you've already got a Teensy in programming mode, Teensy Loader will try to program it if it's in auto mode. There currently isn't any way for Arduino to inform Teensy Loader of a new file but ask it NOT to try programming. Maybe there should be?
Someday in the distant future, I'm going to make a much more sophisticated Teensy Loader that tracks multiple boards and remembers which ports on your computer (and all the connected USB hubs) have which type of Teensy connected. It will someday track when each reboots quickly... faster than a human can physically move cables, and remember which type of Teensy is running while its running your sketch. The searching currently done by teensy_reboot would be replaced by requests to the Teensy Loader to use its list of devices. But this will quite a lot of work. Each operating system has dramatically different APIs for lower level USB stuff like physical USB controller, hub & port, not to mention this scheme is a completely different approach than the way things are done today.
For now, the system isn't well designed to handle more than one Teensy. Neither is Arduino, really.