I think I had this happen to me too. Have you tried other computers? If the arduino cannot be recognized by more than one computer, the board itself is probably bad (as opposed to wonky software on your computer). Later I figured out that the program on the ATmega8U2 had become corrupted. If this chip doesn't ring a bell, it's the one that lets the main microcontroller on your board (ATmega328) communicate to and get programmed by your computer through USB. After fighting through some stuff, I figured out I needed to put the firmware back on the 8U2. After this was completed, the computer recognized the board and I had a working Uno again!
I couldn't find many good resources on reprogramming the 8U2, so after attempting it successfully, I blogged about it. You can find it here:http://blog.ethanfrei.com/2011/10/arduino-uno-revived.html
Hopefully that will help you out, if this is the same problem you're having!
Another way that could work is located here:http://arduino.cc/en/Hacking/DFUProgramming8U2
This way, though, you don't need a programmer, but you may need to make some temporary board modifications.