I ran some of my drawing tests with GdipSetCompositingMode(graphics, CompositingModeSourceCopy), and it looks like native in that mode does roughly what your patch does, except that pixels that would be 100% transparent are not drawn. If a printer device behaves differently then that would be very strange.
If it is the same, it probably makes sense to use (and maybe set at graphics creation time if it's appropriate for the HDC) the compositing mode flag.
So I guess this is an acceptable approach, and could probably be committed as is and refined later, but it'd be nice if you could look into compositing modes and drawing with 100% transparent colors, since you have a test program set up for printing and I don't.