After having a look this morning it seems the problem is with the CNC Shield. When I put my multi-meter across it, it is showing a short between the Y.STEP and the Z.STEP outputs as marked in red here.

Click image for larger version. 

Name:	CNCShield.jpg 
Views:	4236 
Size:	158.8 KB 
ID:	26967

That's with the shield removed from the Arduino and without any drivers connected. I can't see anything on either surface of the board that's causing it so guess it's a manufacturing defect and I just need to throw it in the bin and try again.

Thanks for your replies btw. Although I'm new, after a quick look around it seems like a nice helpful forum here.