Do all the parts have to be linked?
It really depends on how you want things to look in the end. It doesn't mean you will notice a difference if you were to connect them.
If you try to connect complex parts you also end up with a higher vertex count.

Inherently there is nothing wrong with having loose parts. Lots of weapons are made like that.

If you intend to control some parts trough code or animation, having them in separate objects works too. 

I say play around with it and see what you're comfortable with. This is going to be a trial and error journey on your part anyways. Ultimately it comes down to technical choices and the workflow that works for your project.