Я не знаю конечно, как именно у Вас сделаны эти МС..., что в них.. Голый текст на экране и кнопки, или там вообще анимации. Конечно "крутой" разработчик попытался бы сделать универсальный движок текстовых квестов с возможностью задавать весь сценарий во внешнем файле (XML, например).
Каждому Диалогу присваивается идентификатор, Диалог содержит вводный текст и варианты Ответов. К этим вариантам указаны идентификаторы Диалогов для перехода (по вашей схеме: в МС3 ответ BUT4 ведет к MC4, a BUT3 ведет к МС5. В сценарий каждого Диалога можно также добавить идентификатор фонового изображения или мувиклипа, хранящегося в библиотеке, или даже адрес подгружаемого. Для мувиклипов (или swf-файлов) можно также указывать кадр — это позволит делать ветвящиеся диалоги с одним клипом на фоне, не заменяя объект мувиклипа на фоне (локацию) при каждой фразе и ответе, когда это не нужно.
Соответственно в коде движка был бы класс сценки, или диалога, умеющий по своей ноде XML составить "кадр". Ну, это все как я себе представляю, не зная Ваш проект на самом деле. То есть абстрактно))

Код:
<dialogue id="D003">
<background mc="MC3" frame="1" />
<quest id="Q003">Ты руки помыл?</quest>
<answer id="A" target="D004">Ага. Вода только ледяная, брр..</answer>
<answer id="B" target="D005">Нет. Вода же ледяная!</answer>
</dialogue>
<dialogue id="D004">
<background mc="MC3" frame="14" />
<quest id="Q004">Тогда садись за стол. Что будешь пить?</quest>
<answer id="A" target="D006">Водку со льдом!</answer>
<answer id="B" target="D007">Ананасовый сок!</answer>
</dialogue>
<dialogue id="D005">
<background mc="MC3" frame="6" />
<quest id="Q004">Найди кипятильник и согрей воду.</quest>
<answer id="A" target="D003">Да я уж как-нибудь так помою.. холодненькой</answer>
<answer id="B" target="D008">ОК. Где он лежит? В кладовке?</answer>
<answer id="С" target="D004">Да пошутил я. Вот, руки чистые!</answer>
</dialogue>
Идентификаторы вопросов и ответов помогут также сохранить Историю, то есть полноценный сейв игры со всеми сделанными выборами игрока.