but the analog pins are NOT input-only.
They are so. The analog pin can NOT be used to output anything. Now, get over it!
As far as I know (checked here http://arduino.cc/en/Tutorial/AnalogInputPins
), they can be used as output too, but I wouldn't recommend it, unless you don't plan to use any of them for an analog reading or, if you do, you'll have to be very cautious because of this :
Details and Caveats
The analogRead command will not work correctly if a pin has been previously set to an output, so if this is the case, set it back to an input before using analogRead. Similarly if the pin has been set to HIGH as an output, the pullup resistor will be set, when switched back to an input.
The Atmega datasheet also cautions against switching analog pins in close temporal proximity to making A/D readings (analogRead) on other analog pins. This can cause electrical noise and introduce jitter in the analog system. It may be desirable, after manipulating analog pins (in digital mode), to add a short delay before using analogRead() to read other analog pins.
Then, I'd say, if you don't plan to use ADC and you need more outputs, then it's safe to use them . If you need ADC, and you really need to use Ax as outputs, then double-check your analog readings and, if you get weird results, you'll know where you should look at first