Thanks for the confirmation of what the definition should be in Product.php martimiz.
So I currently have:
In Product.php
public static $belongs_many_many = array(
'ProductCategories' => 'ProductCategory'
);
and In ProductCategory.php
static $many_many = array(
'Products' => 'Product'
);
Which unfortunately (as noted in the bottom of my last post) still results in the large query error which includes: "Table 'productcategory_productcategories' doesn't exist" - even after I have run a dev/build...