Have to admit that I used a cadd program (although not in 3d like Adam G) to get the area earlier. Let's see - the actual calculation goes something like this:
I was assuming the depth of the water was 3D/4 (although given my simple assumption that D=1, (3D)/4 = 3/(4D)). For a depth X greater than D/2, the area is based on the angle theta = pi + 2*arcsin[(X-D/2)/(D/2)], which is the angle of the wetted arc. The area is (theta/2)*(D2/4)+0.5*(X-D/2)*[cos((theta-pi)/2)]. The first term is basically theta/2pi times the area of a circle and the second term accounts for the triangle in the middle that the first term misses.
After that little geometry lesson, I think that Adam G got the right answer instead of me because the average end area method assumes a linear reduction in area along the length of the cylinder, which is probably invalid in this case. The area reduces more quickly at the bottom than at the top of the glass. A quick check at the center of the glass would probably confirm that the area is not half that at the bottom of the glass and invalidate the average end area method.
Dang! I hate being wrong! Do we need calculus to get the generic solution, or are we missing a trig solution somewhere?