Circuit design and power management in an Arduino project with stepper motors and solonoids
1) Yes, you will need a separate ground connection. It looks like the TB6600 has isolated inputs, meaning your Arduino will be floating relative to the relays. Otherwise the 12V powering your relays won't have a current return path.

2) Using a computer power supply won't do any damage, and if you're using the USB for communication as well as power then it would be fine, though if it's just for power you may want to consider a separate supply. The easiest solution would be a cheap buck converter to step down the voltage from your 12V supply. That would solve your grounding problem too.

3) The solenoids could potentially do with diodes across them (anodes connected to ground). This will protect against a potentially large voltage being produced when they are turned off, which could damage the relays. It most likely won't make much difference as relays are typically much more resilient than, say, a MOSFET would be, however it would make the system more robust.

4) Looks good to me. Just keep an eye on the solenoids; some of them can get pretty hot if left on for long periods, especially lower quality ones. Run it for a minute and check the temperature, just in case.