Programming Ports burned on 2 Dues?

Hello, I have had the weirdest error. I'll tell you the story, and I want to see other people's ideas.

So the setup was as follows:

Due#1, connected to 2 stepper motor controllers, connected to 2 Steppers, connected to a car battery.

Due#2, connected to a custom light sensor board (17 diodes w/ resistors), connected to Due#1 via Wire library (pins 20 and 21 together)

Both of the Dues were connected to my laptop, I was watching the serial monitors. The two stepper motors spin laser pointers, and the light board picks up the laser. Due#2 tells Due#1 which diode was hit, and it does calculations and prints the results to the Serial Monitor.

So I had this setup working well, but one of the laser pointers fell off the motor, and landed on top of Due#2 (light board). Instantly, everything shut off. The laptop, both Dues, both stepper boards, the laptop power supply. I unplugged the battery, and checked to see if anything was shorted. No parts were hot, no parts smelled like burnt plastic. It's double weird, because the laptop usually has lights that tell that its plugged in, then more lights turn on when the computer is on. But there was nothing, even when the PSU was connected.

I unplugged everything, and tried to reboot. Nothing turned on. I tried a Due on my other computer, Due#2 (light board) worked fine, Due#1 (motor board) seemed to work, but the chip got really hot. I tried both USB ports (native and programming port).

The laptop still didn't turn on though. It wasn't until I let the laptop sit for an hour, remove the battery, clean it out, and plug it back in that the laptop booted up again.

Now, over the past few days the Dues have been working sporadically, and today it seems like both programming ports have died. The Native USB port works on both, on Due#2 it says "COM12(Arduino Due Native Port)", but on Due#1 it just says "COM13", though sketches will still upload.

It's weird, because I've shorted things when they are connected to the computer before. All computers that I've used, just put out an error message saying "USB port has drawn too much power, it has been disabled". It's double weird, because the board that is more broken (Due#1) was the one that WASN'T hit by the laser pointer. It was sitting happy off to the side.

The only thing I can think of is that there was some sort of power surge on the laptop that shut it down, and put out a burst of power through the USB ports and caused the programming ports to burn. But that seems unlikely to me, because the power surge would have to bypass the laptops PSU regulator, then the battery, then the internal laptop regulator, then the USB regulator, then the Arduino regulator... And it's weird that it happened at the exact second that the laser pointed fell.

Any ideas? I've ordered new Dues to keep working, these seem done.