It seems that it might be usbser.sys
1. Is it likely to be the Arduino driver or Windows
If Arduino driver, am I using the most recent one?
The Arduino "driver" is a stock driver provided by Microsoft. It is the driver used by almost all USB serial port devices.
2. If Windows is it likely to be because Im using Windows 8?
Ill try my laptop - it also runs Windows 8, to see if it behaves the same.
Could be. Microsoft may have changed the driver between 7 and 8. They certainly made a lot of other changes.
When I have some time, I'll try it with Windows 7 (I think that's what's on this computer.
3. Could it be exacerbated by the fact the Arduino is busy spitting out characters to the port?
It may be "exacerbated" by the constant stream but that is most certainly not the root cause. I've worked with serial devices that transmit constantly when powered and I've never had a kernel panic because of it.
Should I upload blink or comment out all the Serial.Print statements?
Only if you're curious or want a quick resolution.
4. I have other USB things plugged in eg a Seagate drive I use for backups - is it worth pulling
Yes. Kernel drivers often share IRPs with the layers above and below. It is possible the USB HUB driver or USB PORT driver is the root cause.