Is my LCD dead?

This is what it does when I try to run the example "Hello world!" code.

I reheated all the solder joints and made sure those are fine, so I doubt it's a bad connection.

Once I gave up I realized what was the problem - I forgot to connect Arduino's GND to breadboard GND.

Now, the right half of my 1602 LCD is not stable, words are jumping up and down, and the right side is darker than the left.

Is the LCD permanently damaged?

Garurumon: Is the LCD permanently damaged?

Does sound like it.

Mind you, the current consumption of the LCD (as distinct from the LED) is so low that it seems unlikely that this would be damaged by the missing ground connection.

All these left-half-right-half problems relate to the interconnections between the two driver ICs. The COBs are entirely inaccessible so if it is the cross-connects other than a gross visible defect on the PCB pattern, you are indeed "hosed". There is some possibility that it is poor contact in the "Zebra" connectors which can sometimes be corrected by re-seating the display itself.

I rather doubt this is really due to something you did. Is this the first time you have used this display or have you perhaps, dropped it somewhere? Lotsa luck! Fortunately these are only a couple of dollars each.