Thanks! 
This worked great once I started mucking with the mask to show the part of the image that needed to be visible but semitransparent.  For posterity:
    BITMAPHANDLE overlayImage;
    L_INT err = 
        L_CreateBitmap(&overlayImage,sizeof(BITMAPHANDLE),
        TYPE_CONV,BITMAPWIDTH(pImage),BITMAPHEIGHT(pImage),
        8,ORDER_BGR,NULL,
        pImage->ViewPerspective,NULL,NULL);
    if (err == SUCCESS)
    {
        // Transparent color
        L_FillBitmap(&overlayImage,RGB(0,255,0));
        HDC hDc = L_CreateLeadDC(&overlayImage);
       // Do my drawing to the dc using a non-green color
        L_DeleteLeadDC(hDc);
        // Now create the mask
        BITMAPHANDLE overlayMask;                
        L_CopyBitmap(&overlayMask,&overlayImage,sizeof(BITMAPHANDLE));
        // Make visible area
        L_SetBitmapRgnColor(&overlayMask,RGB(0,255,0),L_RGN_SETNOT);
        L_FillBitmap(&overlayMask,RGB(opacity,opacity,opacity));
        L_FreeBitmapRgn(&overlayMask);
        // Make mask area
        L_SetBitmapRgnColor(&overlayMask,RGB(0,255,0),L_RGN_SET);
        L_FillBitmap(&overlayMask,RGB(0,0,0));
        L_FreeBitmapRgn(&overlayMask);
        // Now blend mask,overlay and destination
        L_FeatherAlphaBlendBitmap(pImage,0,0,
            BITMAPWIDTH(pImage),BITMAPHEIGHT(pImage),
            &overlayImage,0,0,&overlayMask,0,0);
        L_FreeBitmap(&overlayImage);
        L_FreeBitmap(&overlayMask);