As for the check, that is great for the folks you're talking about who are hobbyists in a garage with a single LT1, but for those of us with multiple (or folks who might want to help work on other cars), it would be nice to have an advanced feature where we could specify a BIN like in EEHack. Or like you mentioned, have Flashhack able to store multiple BINs based on the VIN, so that it can keep track of any VIN it has previously interacted with. That would be super great.
i'm not really into adding that complexity and choice and extra ui stuff to something that works fine in most cases and in the worst case just takes longer to flash, but if you wanted to try to write it, it's open source and i'll consider adding it to the main branch once its tested.

Hm, I thought I caught it trying to talk to one of my other COM ports during one of my tests, so I got into the habit of manually selecting on every start. I'll run some more tests later today to see if it's actually choosing the correct port on startup.
it goes by com port number, of course, so if you had a device assigned to a comp port and later a different device is assigned the same com port number, it'll use that port without question. this is unavoidable, otherwise there would be no way for people to use non-ftdi interfaces.

but if your port is no longer valid, it shouldn't be auto-selecting a non ftdi port.

it's possible there's a bug somewhere, so let me know what you figure what's happening, but if it's just using a com port you selected due to moving interfaces around there's not much i can do about that. i think the detail log specifies when it's auto-selected an interface because yours was unavailable.