It's important to remember how your objects are related. In your GalleryImage.php class you're using "BelongToProduct" as the has_one relationship to a Product page. So try using:
Usually when i'm developing DataObjects i'll use Parent like so
static $has_one=array( 'Parent'=>'Product' //Product being whatever the "parent" is );
Keeps things consistent.