1. Then, it means that in the hikashop options of your listing menu, you have set the images width/height to 300*300. If you leave them empty, it will take the size of 50*50 that you have in the configuration.
2. My bad, you should replace the code
<?php echo $this->image->display($image->file_path,true,$image->file_name,'id="hikashop_main_image" style="margin-top:10px;margin-bottom:10px;display:inline-block;vertical-align:middle"','id="hikashop_main_image_link"' ); ?>
by:
<?php $config =& hikashop_config();
echo $this->image->display($image->file_path,true,$image->file_name,'id="hikashop_main_image" style="margin-top:10px;margin-bottom:10px;display:inline-block;vertical-align:middle"','id="hikashop_main_image_link"' , $config->get('thumbnail_x',100), $config->get('thumbnail_y',100)); ?>
in the file "compare" via the menu Display>Views