According to my dutch housemate, het hemd actually means "the tanktop", not the shirt. Shirt means shirt.
Others might disagree with your Dutch housemate: http://www.elsevier.nl/Stijl/nieuws/2007/3/Tips-voor-de-gentleman-minicursus-hemd-kopen-ELSEVIER116957W/
Hemd can refer to various items, a "tanktop" is often referred to as "onderhemd" and a dressy shirt as "overhemd".
A more fashionable friend corrected me when I used hemd for a shirt, saying that a camisole/vest is a hemd and the buttoned shirt over the top is an overhemd, but other people call a shirt a hemd and what goes under it an onderhemd.
Een shirt in Dutch is what I would call a t-shirt, which I discovered when I ordered a 'shirtjurk' online, thinking it would be a shirt-dress, and was surprised to receive a dress made of stretchy t-shirt fabric.
a hemd could be used as a shirt. though commonly if I talk about a hemd I'm talking about like a tanktop or for something I wear under my cloth. Think most dutch people would talk about a blouse rather then a hemd in this context. a shirt would commonly indeed refer to a t-shirt