The API situation on Windows is out of control.

I'd like to see the look on the faces of the many unsuspecting developers when they get the news about Win7. Good news: we've got a new 2d api to replace GDI that's hardware accelerated and a lot more powerful than both GDI and GDI+ ; bad news: Microsoft wanted to make it part of the DirectX stack, so you have to suffer the ugliness and pain of COM for no obvious reason. 

Of course if COM is too much for you, you can always use WPF, but that's a product of devdiv, not the Windows team, so it has a completely separate rendering pipeline that doesn't integrate with D2D. Oh, and because it was designed by architecture astronauts, even the simplest things will consume hundreds of megs of memory. Which isn't a problem on modern machines... until the garbage collector stops the world to work it's way through it all.

Or you can just carry on using GDI, which still works, although we added some stuff to that too.