^ agree entirely, go BL!
^
It's called water (or fluid) displacement. It's used to figure out the volume of anything that doesn't have a specific shape with a designated volume formula. As tricomb stated the volume of your heroin was 5ml since it's the measurement of the displaced fluid, or difference between initial volume and final volume after adding the heroin to it.
Heroin (well, diamorphine) is soluble though so fluid displacement doesn't apply, I thought, as that works for insoluble particles but not solutes? There can be a small increase in volume if you dissolve a solute in a solvent but it's not equal to the solute volume, as the solute slots in between the solvent molecules. Adding NaCL to water even causes a decrease in overall volume.
Tric I don't think you could determine the volume of powder in the way you mention as any volume change in the soluvent is going to be much less than the solute + the solvent.. Chuck a cup of sugar in a cup of water and you don't get a solution that has a volume equal to two cups. If the powder is insoluble then you could, though, and you could work out mass that way
There seems to be some confusion with
mass, which definitely will increase, and
volume in this thread. Mass depends on total number of molecules and their molecular weight; volume on the number of molecules and their arrangement in space.
I'd got it a bit wrong in the BDD thread (pls don't crosspost OP) - I thought I remembered from my chemistry days that there would always be no volume change but that isn't the case (thanks Zoey

) - the volume can increase, remain static or even decrease as with NaCl and water - but usually there is a small increase. I would think that insoluble cuts would be far more likely to cause the volume increase than dissolved diamorphine, though.
Note: it's been 8 years since I did any chemistry hehe so I could have got this all wrong :D I don't mean to correct anyone I'm just enjoying some chem-chat *geek*