Try booting from a Linux live CD, like Knoppix or D*** Small Linux or similar, and see if the USB port still works or not.
No definite answer here, but I assume a USB hub will protect your laptop since it has its own built in power supply, and the USB signals will go through some microcontroller before being forwarded to your computer. So I assume IF some shorting occurs with your arduino the silicon in your hub should be fried first and protect your laptop's USB ports. Hopefully.
You don't need to connect an external LED to the Arduino board, here already is one on pin13. Remove that external LED and it will work. On one of your pics that LED is already on! Then change the code to use another pin and try it again, but this time don't forget to use a resistor!