To find the average normal of the quad I'd guess its just a matter of adding the normals of the two triangles together,divide by 2 then normalise the result.
Here's some code which should show you the way...
Type tri
Field vx#[3],vy#[3],vz#[3]
Field tnx#,tny#,tnz#
End Type
Function createtri(vx1#,vy1#,vz1#,vx2#,vy2#,vz2#,vx3#,vy3#,vz3#)
;make our triangle
t.tri=New tri
t\vx[1]=vx1
t\vy[1]=vy1
t\vz[1]=vz1
t\vx[2]=vx2
t\vy[2]=vy2
t\vz[2]=vz2
t\vx[3]=vx3
t\vy[3]=vy3
t\vz[3]=vz3
;subtract vectors
ax#=t\vx[2]-t\vx[1]
ay#=t\vy[2]-t\vy[1]
az#=t\vz[2]-t\vz[1]
bx#=t\vx[3]-t\vx[2]
by#=t\vy[3]-t\vy[2]
bz#=t\vz[3]-t\vz[2]
;calculate face normal using cross product
t\tnx=ay*bz-az*by
t\tny=az*bx-ax*bz
t\tnz=ax*by-ay*bx
;normalize it
l#=Sqr(t\tnx*t\tnx+t\tny*t\tny+t\tnz*t\tnz)
t\tnx=t\tnx/l
t\tny=t\tny/l
t\tnz=t\tnz/l
End Function