using the Ethernet Shield with the on-board SD card.
Are you actually using the SD card? Or are you just saying you have a shield with an SD socket on it? The SD socket doesn't work properly on some versions of the shield.
The Webduino library has some examples that might work for you, iirc.
even if the relays were to be operated manually
How would they be operated "manually"? If there's some other circuitry that can energize them, you'll need to do something like add an extra pole to the relay to provide an input to the Arduino and let it know the relay's on.