Спасибо всем за ответ.
ssm> tmpFile.read((char *)&m_Word, sizeof(m_Word));
работает, но выглядит значительно менее элегантно, по сравнению с tmpFile >> m_Word.
По-моему, это все-таки баг этих реализаций — если я файл открываю в двоичном режиме, то и operator>> должен работать также в двоичном режиме, ведь размер m_Word в любом случае заранее известен. А read был бы нужен только именно для массивов-указателей, а для простых типов operator>> очевиден.