The problem can be on this SubQuery:
SELECT Cases
FROM Orders
WHERE ProductID = " + str6 + "
Because you have more than "Cases" values for ProductID by Orders.
If you summarizes all case values with the next subquery, you only will have a value by Product and Order:
SELECT SubX.Cases
FROM (
SELECT SubO.ProductID, SUM(SubO.Cases) as Cases
FROM Orders as SubO
WHERE SubO.ProductID = " + str6 + "
GROUP BY SubO.ProductID
) as SubX
The final Query could be:
UPDATE Orders
SET TotalPrice = ( SELECT SellingPrice
FROM Products
where ProductID = " + str6 + " )
* ( SELECT SubX.Cases
FROM (
SELECT SubO.ProductID, SUM(SubO.Cases) as Cases
FROM Orders as SubO
WHERE SubO.ProductID = " + str6 + "
GROUP BY SubO.ProductID
) as SubX
)
WHERE ProductID = " + str6 + "
AND TotalPrice = '0'