Well, unfortunately, using the DC is actually the simplest way to present graphics in Windows. Other options are like genetic engineering, to take your analogy further

In fact, the DC is the only way you're going to display graphic content of your own creation.

This is because Windows is an event driven system, and drawing is generally handled in the context of an event (the paint event), and the device context is something like an open handle to a file or device in Linux.

The scribble example is a good idea. However, consider this quick 'n dirty (and entirely unchecked/untested) attempt..

Code:
void SomeWin::OnPaint()
{
 CPaintDC dc( this );

 dc.MoveTo( 10,10 );
 dc.LineTo( 15,20 );
 dc.LineTo( 20, 10 );

}
Since Y is 'reversed' from standard graphing, this would create (I think) something resembling a V.

That's not particularly complicated, but of course it uses only the default color. Selecting a pen of a chosen color might make more sense, and scribble goes through some of that.

At this point I'm personally accustomed to the concept of the device context, so I find it fairly simple. I don't use MFC much (I often use WxWidgets, which is fairly good, cross platform framework, and in many ways is a little easier to write with, but not much different in the sense that it also is based on a device context).

The only other option open to you, if you call it an option, is to write directly to a bitmap that you can blit to the display when you get it 'finished'. That's actually a good technique to avoid flicker. Unfortunately, in order to blit the resulting bitmap onto the display, you must use a device context.

What are you attempting to graph? That might help me direct you to specific uses of the DC to simplify your work.