Paint ですと線の太さが小さい場合うまく動作するか怪しい感じなので、
現状ではおそらくZバッファを利用するのが一番やりやすいかと思います。
ただ、これも Thickness が 1 の時は普通に描画したほうがきれいです。
//- 以下、テストコード -//
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE, HINSTANCE, LPSTR, int )
{
ChangeWindowMode( TRUE );
if ( DxLib_Init( ) == -1 ) return -1;
int Color = GetColor( 255, 255, 255 );
const int r = 200;
const unsigned int Thickness = 10;
DrawBox( 0, 0, 640, 480, GetColor( 255, 0, 0 ), TRUE );
SetDrawValidAlphaChannelGraphCreateFlag( TRUE );
int bgh = MakeScreen( r * 2 + 1, r * 2 + 1 );
SetDrawValidAlphaChannelGraphCreateFlag( FALSE );
SetUseZBufferFlag( TRUE );
SetDrawScreen( bgh );
DrawCircleToZBuffer( r, r, r - Thickness, TRUE, DX_ZWRITE_MASK );
DrawCircle( r, r, r, Color, TRUE );
ClearDrawScreenZBuffer( );
SetUseZBufferFlag( FALSE );
SetDrawScreen( DX_SCREEN_FRONT );
DrawGraph( 640 / 2 - r, 480 / 2 - r, bgh, TRUE );
WaitKey( );
DxLib_End( );
return 0;
}