Perhaps you're running out of RAM. All those strings will be occupying RAM, and there is only a tiny amount available. Without seeing the whole sketch (hint!) or knowing what hardware you're using (hint, hint!) it's impossible to do more than guess, but that would be my guess. You avoid those strings using RAM by defining them as PROGMEM values.
PeterH - You might be right, 1 line of code seems to cause a restart when I try to access the device. Whereas multiple lines of code just cause it to reboot instantaneously. I'm pretty new to this so will look up what you mean by PROGMEM tomorrow after I've got some sleep and have more patience.
PS Its an UNO and the full code is attached to the original post.