Hmm, is Heroin declared as a Public value? If not, you'll just get 0 every time. (And if it is, I'd say to make sure you didn't declare it as "Herion" or something by accident.)
Also, I'd really, REALLY recommend actually naming your command buttons to something useful, like cmdBuyHeroin. I cannot imagine attempting to figure out which command button is which using the code.
Edit: Also, why dHeroin instead of heroinCost or something?