The current overlay coordinate system which has coordinates in the range [0..1] on both axes does not work well with different aspect ratios which you have a lot these days (4:3, 16:9, 16:10). To avoid stretching of overlays and additional logic to compensate for that, I think we should have the the y-axis fixed (0..1) and the x-axis aspect ratio dependent with a range of [0..aspect ratio]. That way overlays can have a more intuitive size. The horde logo for example which uses a 256,128 resolution texture would always have twice the width compared to its height, independent of the screen resolution and aspect ratio.
I would also propose to change the interface to reduce the number of function parameters and make the function more powerful:
Code:
void h3dShowOverlay( float *verts, int vertCount, float colR, float colG, float colB, float colA, H3DRes materialRes, int flags )
Flags could be PixelPerfect (for drawing pixel-accurate fonts), DrawLines (lines instead of quads, useful for performance graphs) and other goodies like using two corners to define a quad etc. The layers are gone in the the proposal and the submission order would be taken instead. For better performance, horde would automatically batch consecutive overlays that have the same material and flags.