Как выясняется, современные ncurses по дефолту не умеют дружить с KOI8-R, но это лечится выставлением локали внутри программы (через setlocale()), после чего начинает нормально работать addstr(). А вот addch() для символов помимо ASCII - нет, не работает. В целом-то всё работает, да, но как-то это не совсем правильно хранить символы в строках. Может быть я что-то ещё упустил из виду?