I have a feeling i'm doing this wrong.
Do I have to assign a material called "TOP" to the top of the brick for studs to appear on it? Or do I have to do it another way?
Because it shows up as this:
Yes, it doesn't matter what texture you use as long as the material name is called TOP, BOTTOMEDGE, BOTTOMLOOP etc.
You must also go into the UV editor to you stretch the texture as you please.
It's all in the documentation - read the Textures section for more detail.