Here's the fiddle: http://jsfiddle.net/pehrlich/dNLLa/
The child div has a height of 50% of its parent. This confirms that the percentage-of-parent is working correctly. (As per Percentage Height HTML 5/CSS)
That same div has a margin top. If you change it to -50%; in the fiddle, you'll see that it moves completely out of view. The percentage for the margin is being read relative to something else-- perhaps the . It shouldn't be!