The way that the values at the z-levels are calculated is as follows:
a) Horizontal interpolation from GLBb0.08 to GLBu0.08 on hycom's original layers
b) At each lon,lat grid point, build a defined everywhere in the vertical profile that has the same vertical average over each layer as HYCOM
c) *sample* this profile at specified depths.
The reason I emphasize sample is that the profile can jump at layer interfaces, and so a sampled value could be very different if moved only a small distance in the vertical (if it happens to be close to a HYCOM interface).
This issue is much less when and where HYCOM is in fixed depth coordinates (Z or terrain-following), because then the layer interfaces don't move in time and there is less chance of a discontinuity at the layer interface depth anyway.
Standard methods of calculating w are unlikely to be theoretically valid on fields produced this way, but they might be ok in practice.
One thing you could try is the archv2ncdf3z program on the monthly mean archive files,
ftp://ftp.hycom.org/datasets/GLBb0.08/expt_19.1/data/meanstd/ I'm not sure how different the w velocity calculated from a layer-space monthly mean is from the average w velocity from a month's worth of 00Z snapshots - but it may be worth trying.
Alan.