I've implemented alot of the recommended changes, ensuring that all arrays in my program are initialized and then using replace array subset (i had forgotten this on a couple of them). I have also added some script to decimate the graph data based on the x-axis range so that I only wire 1094 data points, per plot, to the graphs. I think wiring 4 plots of 100,000 data points to each could have cause some unforseen problems.
The code has been running now for 3 weeks without major incident. There was a single case where the data files were being updated but not the front panel (viewed through a URL). I think the laptop had implemented some power saving options and stopped updating the graphics (adjusted power settings and haven't seen this happen again)