use of pin 0

How exactly are you trying to use pin 0 for digital input. With a switch wired between this pin and ground (0V) it should work. With a switch between this pin and 5V I can see it always reading high.

Pin 0 is driven by the FT232RL USB-to-serial converter so it will be high if you don't pull it low through a switch. So your observations are not unexpected.