Is my Arduino broken?

I have been using my arduino for about two months, today one of them (I have two) did not let me upload any sketches anymore. However the execution of the currently uploaded program is still working (sort of). The program is flashing one green led, and lighting a red led when recieving '1' through the Serial, any other turns the red off. The green still blinks, but the red does not react to serial anymore.

Uploading gives:
avrdude: stk500_getsync(): not in sync: resp=0x00
Holding shift down while uploading:
usbdev_open() did not find any USB device "usb"

I have probably tried every combination of disconnecting, reseting and rebooting the PC, no difference.
I checked device manager to make sure it had the same COM as selected in "tools", aswell as the correct board.
I unistalled the drivers and tried to reinstall them again. It said it was unable to install.

All this while my other identical arduino is working perfectly.

Is there anything else I can try or is this board a gonner?

If there's any information I've missed, or something was unclear, reply and I'll try to explain it better.

Thanks,
Kalveo

The program is flashing one green led

I think the green led is the power indicator (not controllable by the program). How about the good board, is it flashing the green led also?

What power supply are you using. I assume the USB port from the computer?

The green LED is a separate led than the one on the Arduino board. It's connected to pin 7 via a 330ohm resistor. The Arduino has been powered both by USB (PC) and a DC power supply (6V 600mA). The green ON LED on the board is just lighted up as normal on both boards.

Then, the board is able to run the program, just not able to load another one.
I assume you are not using a separate USB cable for each board (in case the cable could be bad).
Then, it could be the USB on that board bad.
Which arduino boards are you using ?

You are correct, it can run but not load a new program.

Both boards are Arduino Uno R3's, I am using two cables, but I have tried switching the cables to ensure they work, which they both do on the other board.

If it's just the USB on the board that's gone bad, could I then wire pins 0 and 1 together, load the program to the working board, causing it to end up on both, and then dissconecting the pins and do whatever with the working board? (Maybe Arduino doesn't operate like that, I'm just speculating)

On the UNO, you can unplug the CPU can't you?
If you can,
Program the working board, then switch the CPU to the other board.

Will that work to get it programmed?

Update: I noticed that a component got really hot when the arduino is powered up.

Image: Dropbox - Public - Simplify your life
Yes I believe you can remove it, but I don't feel confident to remove the one on my only working board. I've heard of people who've destroyed the chip when trying to remove it. :-/

I see your photo, and the circled component, but I don't know what it is/does. Does add to the idea the board is broken (can't upload by usb).

You are correct, a chip can be damaged if one is not careful. One suggestion, on the bad board (if it is now mostly useless), gently try removing that chip. Then if you are confident, you may want to do the other.You can also buy just these chips.

At this point, it looks like you have two good CPU chips, and only one good board that can load sketches.

This has happened to me tonight also. The code for My Ratbot car project using Arduino Uno wont update as of two hours ago.

Its now giving a size of 6,042 bytes (of a 126,976 byte maximum), before it started acting wonky, code base was 2,400 in size.

Its like everything now has a 3-4x factor. I thought my max was 32k. Not sure why its now reporting this higher number.

How do you clear out an Uno if it says? AVRDUDE: stk500_getsync(): not in sync: resp-0xbd

UPDATE
My Arduino 1.0.5 somehow was changed to a Mega processor. Its working fine now that its back to uno. Wow that was weird. I even rebooted my computer.