You get Error 500 if the product doesn't have any image.
If you check prepareAjaxData() function in plgSystemFlexibleVm3cart class there is a line like:
$data->products[$i]['flexible_image'] = $product->images[0]->displayMediaThumb('',false,'',true,false,false,0,0);
But if the product doesn't have image at all there won't be $product->images so there won't be displayMediaThumb() method neither.
I just put a simple if statement before this line but I'm sure there would be a better solution.