I have much less experience than many of the people replying here, but when I want a field or a subform not to appear if there's nothing there, I've always set the "Can Shrink" property on the Format tab of the Properties to "Yes."
There may be instances where this won't work, but it has worked for me.