CEditView::OnLBUTTONDOWN()で
if( xPos < m_nViewAlignLeft ){
/* 現在のカーソル位置から選択を開始する */
m_bBeginLineSelect = TRUE;
の下の方に
m_nSelectLineBgnTo = m_nSelectLineTo; /* 範囲選択開始行(原点) */
m_nSelectColmBgnTo = m_nSelectColmTo; /* 範囲選択開始桁(原点) */
というのがあります。
行番号の下から選択開始するとその直前で選択が行われないために
nSelectLineTo/nSelectColmToが-1になって選択範囲の計算がおかしくなります。
ですので、これをIsTextSelected()の時のみ行うようにすると直ります。