I think error() is some sort of communication with a built in set of responses from the SD card.
I've got the web server and data logging working now. Honestly, I don't know what was wrong. It was late, I was tired, and all of a sudden the code was working. I'll post it soon when I've got it cleaned up. Presently I am attempting to write a newline to the file in the setup(), but that is causing the SD card to fail.
//// write newline to beginning of log
char filename[12] = "DATA127.CSV";
if (!file.open(root, filename, O_CREAT | O_APPEND | O_WRITE)) error("open failed");
//file.println();
//file.println();
returns in the serial monitor:
error: open failed
SD error: 19,0
That same code snippet works fine in the loop() though.