Hi,
Ok, I think I see what's the problem.
It's not a problem with the save or the update of HikaShop.
In your code, you have some lines to load the image from somewhere :
$urlwatch = 'https://xxxxxxxxxx/121time/orders/'. $watchId .".png";
$imgwatch = '/home/clients/xxxx/web/images/com_hikashop/upload/customwatchhtml/'. $watchId .".png";
$ch = curl_init($urlwatch);
$fp = fopen($imgwatch, 'wb');
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp);
And you fopen the destination file but you fclose it without writing anything in it.
I think that you're missing a line of code to get the result of the curl_exec and write it to $fp.
You must have removed it inadvertently when you were figuring out the issue with the save/fullSave function name.
That would explain with the file is there but empty.
And yes, you can jump versions, that's not a problem. We've had people going from a HikaShop 2.x to a HikaShop 4.3.0 directly so 4.1 to 4.3 is no problem