I believe both ways. The Flash cards are all cut from the same wafer, It is very expensive to cut a wafer into many different sizes. One size cut is far cheaper then anything else. Also there is software that goes into memory, i.e. memory address controllers etc. So all the programmer has to do is limit the memory address total and you got a smaller memory card. add more and you got a bigger one. (up to its maximum capacity of course)
Be skeptical all you want, but this practice has been used in the semiconductor/wafer business for along time. I am certain this is what they do.
Different parts of the wafer have different levels of quality sometimes though, so there is a limit to how fast or much can be applied to pieces from that wafer, it is also possible that the 64mb are from the outer edges of the wafer were the quality is less, but i doubt that.