Just leaving this as a heads-up to anyone who may encounter the same problem in the future, I cannot guarantee what the cause is but it seems as though when you save/compile your project without a reference to your tank turret or barrel, it removes them from your tank blueprint and if you add them and recompile, they get added back on but they are not attached. You have to go back in the tank blueprint and re-attach the the references:
UFUNCTION(BlueprintCallable, Category = Setup)
void SetBarrelReference(UTankBarrel* BarrelToSet);
UFUNCTION(BlueprintCallable, Category = Setup)
void SetTurretReference(UTankTurret* TurretToSet);
Took me a good while of debugging to realise