Well, that error happened so many times to me, but it was with an older version of wxWidgets IIRC.
The problem is operator [] for wxString is overloaded for both int and size_t, and GetInsertionPoint() returns long. The compiler doesn't know if it should convert that long to int or to size_t, then the ambiguity.
Try this:
m_pTextCtrl->GetValue()[static_cast<int>(m_pTextCtrl->GetInsertionPoint())];
If that doesn't help, then try:
int insertionPoint = m_pTextCtrl->GetInsertionPoint();
m_pTextCtrl->GetValue()[insertionPoint];