PayPal doesn't seem to display the amount of the purchase on the left of the PayPal page. What's more surprising is that the description of the product is displayed correctly!
BTW, NVP API is what I use!
Append &useraction=commit to the PayPal redirection URL (https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-XXXXXX) so it's https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-XXXXXX&useraction=commit
The reasoning is that you're supposed to show the final price on your website's RETURNURL before calling DoExpressCheckoutPayment to finalize the transaction. If this is not how your checkout flow operates, you can override this behaviour by specifying useraction=commit to indicate an immediate purchase.