Not sure if this helps in anyway, but I found this to be interesting. I put a textbox in the detail section and set the cangrow property of the textbox to true. Then in the on print event (it can not be in the format event because the format event is actually a "before" format event), I printed out the size of the text box and the size of the detail. As the text box grows I get different numbers, but, as you said, the detail returns the default height value. So there is something going on I do not understand either. But bottom line you can get the height of the controls if that helps.
Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer)
'The text box returns the correct height.
MsgBox Me.txtBoxGrow.Height & " " & Me.Detail.Height
End Sub