clash between SD write function and ethernet Client read

I'm not sure if this should be here or in storage but I seem to be getting a clash between reading data/files off an sd card via the ethernet and a routine writing of data to the SD card.

Set up is an Uno R3 with ethernet shield + SanDisk 4Gbyt card.

Uno gathers analog data every 15 seconds, averages the info into an array, then writes data to a file on the the card every minute, by using a for loop to write the data from the array.

When you want that data (say once a day), you can browse current data from your PC (The web page is held as a file on the same card) and if you want you can download the recorded data.

This works most of the time but I'm getting a hang and the shield stops communicating some times. It seems to be if the web browser on the PC addresses the UNO when its trying to write data to the card.
I know that you have to initialise pins 10 and 4 the right way (which I am) and the libraries for SD and ethernet should look after them there after to stop clashes on the SPI bus but this does not apear to be happening.

Has anybody had a similar experience?? I've checked and I'm not running out of SRAM, the 15 second drum beat is still running when this happens and you can usually succesfully ping the IP address of the shield. I'm at a bit of a loss as where to look next.

Unfortunately the code exceeds the 4K limit to post here

Unfortunately the code exceeds the 4K limit to post here

As an attachment? The limit is 4M. Hard to believe an Arduino sketch can be that big.