How is the discount defined?
I would think that the discount is producing a price that has more than 2 decimal places.
on the checkout page, the code that passes the amount to paypal would look like this:
$WA_PP_ECO_Do_itemized[0][$nextIndex] = "Amount" . strval($cartIndex+1) . "";
$WA_PP_ECO_Do_itemized[1][$nextIndex] = "".$eCart1->DisplayInfo("Price") ."";
you can use number_format to force that to 2 decimal places:
$WA_PP_ECO_Do_itemized[0][$nextIndex] = "Amount" . strval($cartIndex+1) . "";
$WA_PP_ECO_Do_itemized[1][$nextIndex] = "".number_format($eCart1->DisplayInfo("Price"), 2) ."";