The symptoms of having the WS2801 strip stop responding after few seconds seems very similar to posthttp://arduino.cc/forum/index.php?topic=96115.0
As for now, I have managed to send ArtNet to Uno+Ethernet: built on Arduino 1.0.1
I have it running here for hours on 50 LEDs (which is 150 channels)
tested with "DMX-Workshop", "Node Managment Utility" and "MADRIX"
The major code changes I made are related to memory consumptions.
either decrease the udp packet size
#define UDP_PACKET_MAX_SIZE 512 // originally was 2048
or decrease the channels number
const int number_of_channels=512; //512 for 512 channels
I also moved the strip.setPixelColor line inside the If "if its an artnet header"
this will make sure that the strip.setPixelColor is not running for every UDP packet arrives.
I will post the whole code once I am sure it is running stable.
My challenge is to send ArtNet DMX data to 1250 WS2801 leds using Arduino+Ethernet shield.
Looking at the current numbers of memory, and having the fact that the Uno could not handle the program once I increased the UDP_PACKET_MAX_SIZE it seems like I must use this program on arduino Mega.