How can I programmatically change the record number that is displayed in the record field of the CGXRecordInfoWnd?

You should call

   m_infoWnd.GetBeam()->SetCurrentRecord(nRecord);
   m_infoWnd.GetBeam()->Invalidate();