String to character formatting for SD logging.

But without a CD pin I can't tell it when to start writing to EEPROM, so I'll have to leave that out.

You REALLY should add a switch that defines whether to log to the SD card, or not. You should NOT remove the card when the switch is in the log position. Doing so can corrupt the file, if it is open when you remove the card. When the switch is flipped to the not-log position, you should close the file, if you keep it open.

I calculate a 4gb SD card has enough memory for over a thousand years of 5 byte one minute logs... is this correct?

Not even close. You are writing 5 byte-sized values as strings. A byte-sized value, like 100, can take 3 bytes to represent as a string ('1', '0', and '0'). Add a separator between strings and 5 bytes can use 19 characters. Plus the carriage return and line feed between records, and each record could be as many as 21 bytes, not 5.