Hi Massimo,
I just made new tests on my site using 2 items (one with 10 € and a second with 0 €). Everything ran without trouble. It passed PAYPAL and directed to the download page for the item of 0 €.
The error you get is issued by dividing "Price" with "TotalPrice" that contains ZERO (0). Look at the piece of code beneath that is on line 935 - 936 in the file /webassist/plugins/shopping_cart/process_transaction.php
if ((WA_eCart_FormatNumber($WA_Store_Cart->DisplayInfo("Price") - (($WA_Store_Cart->DisplayInfo("Price")/$WA_Store_Cart->TotalColumn("TotalPrice")) * $WA_Store_Cart->GetDiscounts()), false, 2) > 0)) {
Try to look backwards in your code for the values contained in "Price" and "TotalPrice". "TotalPrice" can only be ZERO (0) if "Price" also is ZERO (0). Just track backwards these two variables and you shall find where the mistake happens.
As I don't have access to the code of your site, you have to do the job.
Here my email: davas56@gmail.lu if you can't solve the matter by yourself.
Best regards
Daniel