I debugged an X11 crash from coming from XRenderCreatePicture(), from move_window_bits_surface() -> NtGdiSetDIBitsToDeviceInternal -> nulldrv_SetDIBitsToDevice -> xrenderdrv_PutImage. That was happening for layered systray window when it was loosing WS_EX_LAYERED attribute during hiding icon (that's why this exact path reached xrender). xrender path currently doesn't expect argb drawables, phys_dev xrender format is always set to default_format and XRenderCreatePicture on phys_dev visual causes X error when the visual is argb. For systray window argb visual comes from a special systray visual handling in winex11.drv/visual.c (get_systray_visual_info).
Honestly, I am not sure that everything is fully correct on all that path, like not sure why do we need a special visual for systray window, or if we really need to reach move_window_bits_surface() in this specific case. But we probably may end up scaling argb images with xrender for layered windows now anyway, so maybe allowing that to work in xrender worth it.