I am using Arduino-0022.
I've already tried putting a delay(1000); into setup() thinking that Arduino's setup() was running well before the LCD had a chance to finish starting up. This had no effect.
So you're saying that you power on arduino then there is no response after button push, but after you upload code again it works?
If you hit reset button after a successful run of the LCD, will your LCD reinitialize or not?
Is the problem only showing when you power on arduino via USB or both USB and ac adapter?
So, I moved the LCD to pins 4-9 ...
Doesn't give me a warm fuzzy feeling that all the connections are electrically sound.
...though I'm not sure where I should post them.
Is there an unwritten rule that says don't go above a certain number of pins?
I now have a digital pin 0 that is "frozen" in the HIGH position.
Is it feasible/reliable to run the LCD display off of a shift register?
Pins 0 and 1 are permanently connected to the serial interface circuitry used for downloading sketches so their use is limited in some applications. This is a good case for the ardunio-oids that use separate FTDI cables or boards.
Do a search for 'shift register LCD'.
Besides the answers floreta offered, I have this product you may try to unclutter breadboards. It is a product I designed.