多分これ↓で直るはず。
GetLengthWithoutEOL() に const を付けます。
CaretPos_Phys2Log()で行長取得で m_nLength の代わりに GetLengthWithoutEOL() を使います。
-----
CLayout.h
int GetLengthWithoutEOL() const { return m_nLength - (m_cEol.GetLen() ? 1 : 0); };
CLayoutMgr.cpp:CaretPos_Phys2Log()
//nDataLen = pLayout->m_nLength;
nDataLen = pLayout->GetLengthWithoutEOL();